﻿
/*
    用脚本获取浏览器的类型和版本号
*/
function ShowBrowserVersion(){
        var Sys = {}; 
        var ua = navigator.userAgent.toLowerCase(); 
        var s; 
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; 

        //以下进行测试 
        if (Sys.ie) return 'IE: ' + Sys.ie; 
        if (Sys.firefox) return 'Firefox: ' + Sys.firefox; 
        if (Sys.chrome) return 'Chrome: ' + Sys.chrome; 
        if (Sys.opera) return 'Opera: ' + Sys.opera; 
        if (Sys.safari) return 'Safari: ' + Sys.safari; 
        return 'Unknow';//未知浏览器！ 
}
/*
    功能：对JS产生的Exception,给出友好提示语！
    创建：梁宁 2010-7-19
    修改：
*/ 
function ShowMsgOfJsException(err){
		var msg = "对不起，本页面发生一个错误,无法继续操作；请联系UPM支持顾问，非常感谢！"
				if(err.message){//ie,ff
					msg +=  "\n message:"+err.message
					
				}
				if(err.name){//ie,ff
					msg +=  "\n name:"+err.name
				}
				if(err.number){//ie
					msg += "\n number:"+err.number; 
				}
				if(err.lineNumber){//ff 
					msg += "\n lineNumber:" + err.lineNumber
				}
				if(err.stack){//ff
					msg += "\n stack:\n"+err.stack;
				}			 
					
		window.alert(msg);
	}
  /*
 功能：表单加载完成后，调整textarea的高度
 参数：isAttachEvt 是否要绑定onpropertychange事件到Textarea上
 作者：梁宁 2010-06-08
 ---------------------
 修改:[]***
 */

function textareaResize(isAttachEvt){	
    $("div#div_print table.tbbill table.content textarea").not("#ProcessComment_txtComment")
    .each(function(){
        if(this.disabled){     
            this.style.paddingTop = "5px";
			this.style.overflowY = "auto"; 
            this.style.overflowX = "visible"; 			
            this.style.height= this.scrollHeight+5;
        }
        else if(this.className=='InputReadonly'||this.readOnly||this.contentEditable=="false"){
           if(this.minH==undefined)$(this).attr("minH",0);//非编辑状态下，默认最小高度为0或用户自定义值
           Enlarge(this,false);            
        }else{
           if(this.minH==undefined) $(this).attr("minH",30);//编辑状态下，默认文本框的高度最小为30或用户定义值
           Enlarge(this,true);//默认载入文本框
		   if(isAttachEvt!=undefined && isAttachEvt==true){textareaBoundResizeEvt(this);}               
        }//else
    })//each
}//function
function PageTextareaBoundResizeEvt(){
	 $("div#div_print table.tbbill table.content textarea").not("#ProcessComment_txtComment")
	 .each(function(){
		if(this.disabled && this.className!='InputReadonly'&& !this.readOnly && this.contentEditable!="false"){
			textareaBoundResizeEvt(this);
		}
	 })
}
function textareaBoundResizeEvt(obj){
	obj.attachEvent("onpropertychange",function(){
		if(event.propertyName == "value"){				
			Enlarge(obj,false);
		}//if
	});//attach
}
/*
功能:消除纵向滚动条
参数：
    obj 文本框对象
    isDefault 是否页面默认载入时。此时往往不希望文本框高度被改。
作者：梁宁 2010-06-08
*/
function Enlarge(obj,isDefault){
     //alert(obj.scrollHeight +":"+obj.clientHeight)
	 obj.style.paddingTop = "5px";
	 obj.style.overflowY = "auto";
     obj.style.overflowX = "visible";
     if(isDefault){
         if(obj.scrollHeight>obj.clientHeight){           
            ChangeH(obj);     
         }
     }else{
        ChangeH(obj);
     }//if
}
function ChangeH(obj){
	obj.style.height= Math.max(Math.max(obj.minH,obj.scrollHeight+2),Math.min(obj.scrollHeight+2,obj.maxH?obj.maxH:400)) + "px";
}
/*----------------------------------------------------------------------------------*/
/* 名称：流程开发公用JS
 * 作者：梅欢、朱晓华
 * 创建日期：2009-1-19 */  
/************************************DOM基本操作方法************************************/
//获取对象（作者：梅欢）
function gid(id){return document.getElementById(id);}

/* 功能：去掉控件的方法，待完善
输入参数：输入框的ID
作者：黄喆  */
function removeEvent(ctrlid)
{
   var control = gid(ctrlid)
   if(control && control.readOnly)  control.onkeypress = "";
}

/* 功能：去掉输入框的焦点；如 目前只有时间控件用到此方法
输入参数：输入框的ID
作者：涂畅波 */
function removeFocus(ctrlid) 
{
   var control = gid(ctrlid) 
   if(control && control.readOnly) control.onfocus = "";
}

/* 按enter键时，触发按钮的click事件
[作者] 刘娟  梁宁 2009-12-24
[使用方法] 在需要检测enter键的范围控件上添加onkeypress事件，如<body onkeypress="return ClickButton('btnSearch');">
[参数说明] ButtonID是需要点击的按钮的id，如'btnSearch'，无需添加“#”、“processForm”作为前缀
[审核者] 梅欢 2009-12-24 */
function ClickButton(ButtonID)
{
	if(event.keyCode==13)
	{
		var b=$U(ButtonID);
		if(b.length==0) b=$("#"+ButtonID);
		if(b.length==0) b=$(ButtonID);
		if(b.length>0) b.click();
		return false;
	}
	return true;
}

/* 功能：效果（复制Excel上的一列数据，将其Ctrl+V来填充表单上的表格的一列）
可以方便用户输入大数据量的表单，节省大量的时间
作者：梁宁（ppriln）
输入参数：ctrlCid：控制适用范围的容器客户端id
创建日期：2009-8-25
用法说明：形如<asp:GridView ID="gv" onpaste="bodyOnPaste();"> */
function bodyOnPaste(ctrlCid){
	event.returnValue = false;
	var srcObj = event.srcElement;
	if((srcObj.tagName=="INPUT"||srcObj.tagName=="TEXTAREA") 
	&& (srcObj.readOnly==false || srcObj.contentEditable)
	&& !srcObj.disabled){
		var str = window.clipboardData.getData("Text");
		var str = str.replace(/(^\s+)|(\s+$)/ig,"");
		var clipDataArr = str.split(/\r(?=\n)/);	
		var tb= document.getElementById(ctrlCid);
		var rIdx = srcObj.parentElement.parentElement.rowIndex;
		//var cIdx = srcObj.parentElement.cellIndex;
		//因为ie下cellIndex有Bug，所以改用以下写法；
		var cIdx = $("td",srcObj.parentElement.parentElement).index(srcObj.parentElement);
		var nextTxt = null;
		for(var i=rIdx; (i<tb.rows.length)&&(i-rIdx<clipDataArr.length); i++){
			nextTxt = $("INPUT",$(tb.rows[i].cells[cIdx]));
			if(nextTxt.length>0)
			{	
				nextTxt = nextTxt[0];
				if(nextTxt && (nextTxt.tagName=="INPUT"||nextTxt.tagName=="TEXTAREA")){
				    if(!nextTxt.disabled)
					nextTxt.value = clipDataArr[i-rIdx].replace(/(^[\n\"\']+)|([\n\"\']+$)/ig,"");  
				}
			}
		}
	}
  }
/************************************DOM基本操作方法结束************************************/


/************************************数值操作方法************************************/
//创建者：朱晓华
function hasValue(v){return (typeof(v)!="undefined" && v!="");}

function TryParseFloat(number)
{
    var n = parseFloat(number);
    if (isNaN(n)) n = 0;
    return n;
}

function TryParseInt(number)
{
    var n = parseInt(number);
    if (isNaN(n)) n = 0;
    return n;
}
/************************************数值操作方法结束************************************/

/************************************字符串操作方法************************************/
//去两边空格
function Trim(str){
    return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
}

//去掉数字左边的字符
function lTrim(str, removechar )
{
  if (str.charAt(0) == removechar )
  {
    str   =   str.slice(1);
    str   =   lTrim(str, removechar);   //递归调用
  }
  return   str;
}

/*
功能：对HTML字符进行转义
作者：黄平显
输入参数：
    传入目标字符串
创建日期：2009-08-04
说明：
    <    -->  &lt;        小于号  
    >    -->  &gt;        大于号 
    &    -->  &amp;       和  
    '    -->  &apos;      单引号 
    "    -->  &quot;      双引号 
*/
function EnHTMLCode (str)
{
       var ret = str + "";
	   ret = ret.replace(/&/g,"&amp;" );
	   ret = ret.replace(/</g,"&lt;" );
	   ret = ret.replace(/>/g,"&gt;" );
	   ret = ret.replace(/'/g,"&apos;" );
	   ret = ret.replace(/\"/g,"&quot;" );
	   return ret;
}

/*
功能：对HTML字符进行反转义
作者：黄平显
输入参数：
    传入目标字符串
创建日期：2009-08-04
说明：
    &lt;     -->    <        小于号  
    &gt;     -->    >        大于号 
    &amp;    -->    &        和  
    &apos;   -->    '        单引号 
    &quot;   -->    "        双引号 
*/
function DeHTMLCode (str)
{
       var ret = str + "";	   
	   ret = ret.replace(/&lt;/g,"<" );
	   ret = ret.replace(/&gt;/g,">" );
	   ret = ret.replace(/&apos;/g,"'" );
	   ret = ret.replace(/&quot;/g,"\"" );
	   ret = ret.replace(/&amp;/g,"&" );
	   return ret;
}
/************************************字符串操作方法结束************************************/

/************************************金额格式化和反格式化处理方法************************************/
//格式化金额￥123，456，789.000
//参数说明：num - 要格式化的数字； n - 保留小数位; Type - 币种符号
function formatMoneyNum(num,n,Type)
{
    if(num == "") return "";
	if(n==undefined) n=2;
    //num = parseFloat(num).toFixed(n);
    num = Number(parseFloat(num).toFixed(n+1)).toFixed(n);
    var re = /^(-?[0-9]+)([0-9]{3})/;
    while(re.test(num)) 
	num =num.replace(re,"$1,$2")
    return (Type==undefined?"￥":Type)+num;
}
function formatMoneyNum0(num,n,Type)
{
    if(num == "") return "0";
    if(isNaN(parseFloat(num))) return "0";
    if(parseFloat(num) == 0) return "0";
	if(n==undefined) n=2;
	
    //num = parseFloat(num).toFixed(n);
    num = Number(parseFloat(num).toFixed(n+1)).toFixed(n);
    var re = /^(-?[0-9]+)([0-9]{3})/;
    while(re.test(num)) 
	num =num.replace(re,"$1,$2")
    return (Type==undefined?"￥":Type)+num;
}
function formatMoneyNumNew(num,n)
{
	//if(num == "") return "";
	if(num == Number(0)) return "0";
	if(n==undefined) n=2;
    //num = parseFloat(num).toFixed(n);
    num = Number(parseFloat(num).toFixed(n+1)).toFixed(n);
    var re = /^(-?[0-9]+)([0-9]{3})/;
    while(re.test(num)) 
	num =num.replace(re,"$1,$2")
    return num;
}

//把金额格式化成数字,
//Money金额
//digit位数
function formatFloat(Money,digit)
{
    if(Money == "") return "";
	if(digit==undefined) digit=2;
    var newMoney = Money.replace("￥","").replace(/,/g,"");
    return parseFloat(newMoney);
    
}

//功能:给输入的金额自动埴充小数点后面两个零
//作者:兰德贵
//时间:2009-10-09
function FormatForMoney(varMoney)
{
   var num = new Number(varMoney);
   if(num==0)
        return 0;
   var formatMoney=num.toFixed(2);//保留两位小数
   return formatMoney;
}

//功能:检查文本框输入的金额并格式化,如果格式不对则清空
//作者:石义葵
//时间:2010-11-02
//参数说明：textbox - 文本框； n - 保留小数位; Type - 币种符号
function CheckMoneyFormat(textbox,n,type){
    var s=$(textbox);
    var v=$.trim(s.val()).replace("￥","").replace(/,/g,"");    
    if(v=="") return;    
    if(n==undefined) n=2;
    var reg=new RegExp("^(\\-?)(\\,?\\d+)*(\\.\\d{1,"+n+"})?$");
    if(!reg.test(v)){
        alert("金额格式错误！");
        s.val("");return;
    }
//    if (!/^(\,?\d+)*(\.\d{1,2})?$/.test(v)){
//        alert("金额格式错误！");
//        s.val("");return;
//    }
    if(type==undefined) type="";
    s.val(formatMoneyNum(v,n,type)); 
}

//金额数字转换为金额大写汉字
//（作者：王睿）
//例<asp:TextBox ID="txtLoanAmount" runat="server" CssClass="text" Text="" onkeypress="regInput(/^\d{0,12}(\.\d{0,2})?$/)" onblur="chineseNumber(this,'txtLoanAmount')"></asp:TextBox>
//[更新记录] 
//	2010-04-14 1.可以兼容负数的显示 2.去掉多余的空格以免计算错误----黄喆修改
//  2010-11-10 可以兼容非服务器文本框赋值，只需noPrefix参数不为空即可  --石义葵修改
function chineseNumber( obj , objshow ,noprefix){
    var num ;
    var num_temp=obj.value;
    var negative = false;
    if(obj.value == "0")
    {
        num = obj.value;
    }
    else
    {
        num = lTrim(obj.value,"0") ;
        num = Trim(num).replace("￥","").replace(/,/g,"");    //去掉多余的空格
    }
    if( Trim(num) =="" || isNaN(num) || num > Math.pow(10, 12) )
    {
        obj.value = "" ;
        $("#processForm_" + objshow).val("");
        if(noprefix!=null&&noprefix!="undefined"){
            $("#"+objshow).val("");
        }
        return "零元整";
    }
    else if (num.indexOf('-') == 0)
    {
        negative = true;
        obj.value = num ;
        num = num.substring(1);
    }
    else
    {
        obj.value = num ;
    }
    var cn = "零壹贰叁肆伍陆柒捌玖"
    var unit = new Array("拾佰仟", "分角")
    var unit1= new Array("万亿", "")
    var numArray = num.toString().split(".")
    var start = new Array(numArray[0].length-1, 2)

    function toChinese(num, index)
    {
	    var num = num.replace(/\d/g, function ($1)
	    {
	    return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1)
	    })
	    return num
    }

    for (var i=0; i<numArray.length; i++)
    {
	    var tmp = ""
	    for (var j=0; j*4<numArray[i].length; j++)
	    {
		    var strIndex = numArray[i].length-(j+1)*4
		    var str = numArray[i].substring(strIndex, strIndex+4)
		    var start = i ? 2 : str.length-1
		    var tmp1 = toChinese(str, i)
		    tmp1 = tmp1.replace(/(零.)+/g, "零").replace(/零+$/, "")
//		    tmp1 = tmp1.replace(/^壹拾/, "拾")
		    tmp = (tmp1+unit1[i].charAt(j-1)) + tmp
	    }
	    numArray[i] = tmp
    }

    numArray[1] = numArray[1] ? numArray[1] : ""
    numArray[0] = numArray[0] ? numArray[0]+"元" : numArray[0], numArray[1] = numArray[1].replace(/^零+/, "")
    numArray[1] = numArray[1].match(/分/) ? numArray[1] : numArray[1]+"整" ;
    if($.trim(numArray[0]).length == 0)
        numArray[1] = "";
    var retChs = ""
    if( obj.value!= "")
    {
      if (!negative)
      {
        retChs = numArray[0]+numArray[1];
      }
      else
      {
        retChs = "负"+numArray[0]+numArray[1];
      }
      if(retChs.indexOf("亿万")>-1)
      {
        retChs = retChs.replace("亿万","亿"); 
      }
      $("#processForm_" + objshow).val(retChs);
      if(noprefix!=null&&noprefix!="undefined"){
            $("#"+objshow).val(retChs);
      }
    }
    obj.value=num_temp;
    return retChs;
}

//金额大写汉字转换为金额数字
//（作者：王睿）
function aNumber(num){
	var numArray = new Array()
	var unit = "亿万元$"
	for (var i=0; i<unit.length; i++)
	{
		var re = eval("/"+ (numArray[i-1] ? unit.charAt(i-1) : "") +"(.*)"+unit.charAt(i)+"/")
		if (num.match(re))
		{
			numArray[i] = num.match(re)[1].replace(/^拾/, "壹拾")
			numArray[i] = numArray[i].replace(/[零壹贰叁肆伍陆柒捌玖]/g, function ($1)
			{
			 return "零壹贰叁肆伍陆柒捌玖".indexOf($1)
			})
			numArray[i] = numArray[i].replace(/[分角拾佰仟]/g, function ($1)
			{
			 return "*"+Math.pow(10, "分角 拾佰仟 ".indexOf($1)-2)+"+"
			}).replace(/^\*|\+$/g, "").replace(/整/, "0")
			numArray[i] = "(" + numArray[i] + ")*"+Math.ceil(Math.pow(10, (2-i)*4))
		}
		else numArray[i] = 0
	}
	return eval(numArray.join("+"))
}
/************************************金额处理方法结束************************************/

/************************************XML,JSON,ARRAY处理方法************************************/
/*	This work is licensed under Creative Commons GNU LGPL License.
	License: http://creativecommons.org/licenses/LGPL/2.1/
	Version: 0.9
	Author:  Stefan Goessner/2006
	Web:	  http://goessner.net/
	参数说明：
	        o:json对象
	        tab:一般用""                              
*/
function json2xml(o, tab) {
	var toXml = function(v, name, ind) {
		var xml = "";
		if (v instanceof Array) {
			for (var i=0, n=v.length; i<n; i++)
				xml += ind + toXml(v[i], name, ind+"\t") + "\n";
		}
		else if (typeof(v) == "object") {
			var hasChild = false;
			xml += ind + "<" + name;
			for (var m in v) {
				if (m.charAt(0) == "@")
					xml += " " + m.substr(1) + "=\"" + EnHTMLCode(v[m].toString()) + "\"";
				else
					hasChild = true;
			}
			xml += hasChild ? ">" : "/>";
			if (hasChild) {
				for (var m in v) {
					if (m == "#text")
						xml += v[m];
					else if (m == "#cdata")
						xml += "<![CDATA[" + v[m] + "]]>";
					else if (m.charAt(0) != "@")
						xml += toXml(v[m], m, ind+"\t");
				}
				xml += (xml.charAt(xml.length-1)=="\n"?ind:"") + "</" + name + ">";
			}
		}
		else {
			xml += ind + "<" + name + ">" + EnHTMLCode(v.toString()) +  "</" + name + ">";
		}
		return xml;
	}, xml="";
	for (var m in o)
		xml += toXml(o[m], m, "");
	return tab ? xml.replace(/\t/g, tab) : xml.replace(/\t|\n/g, "");
}

//将Json对象转化为Array对象
function setJsonToAry( rows,linename )
{
    if((typeof(linename)=="undefined" || linename=="")) linename="row";
    if(rows[linename]== undefined) return null;
    var ary = new Array() ;
    if ( rows[linename].length == undefined )
    {
        ary = new Array(1);
        ary[0] = rows[linename];
    }
    else
    {
        ary = rows[linename];
    }

    return ary;
}

//将Array对象转化为Json对象
function setAryToJson( ary,linename)
{
    if((typeof(linename)=="undefined" || linename=="")) linename="row";
    var rows = new Object();
    if ( ary.length == 1 )
    {
        rows[linename] = ary[0];
    }
    else
    {
        rows[linename] = ary;
    }
    return rows;
}
/************************************XML,JSON,ARRAY处理方法结束************************************/

/************************************控件验证方法************************************/
/* 
[功能说明] 
	限制文本框中输入的内容符合指定的规则，并阻止非法字符通过粘贴的方式进入文本框
	如需禁止使用中文输入法，请在文本框上使用style="ime-mode:disabled;"禁止输入法切换到中文
	动态表格中因为IE的漏洞引起的onpropertychange不能触发的问题可以使用添加onkeypress="regInput(reg)"的方法来解决
[使用方法] 
	将本方法设置到文本框的onpropertychange属性中，如<input onpropertychange="NumberInput()" type="text"/>
	DefaultValue参数为可选参数，可以不传，如“IntegerInput()”
	备注：本方法是在控件值已经改变之后执行的，与此相似的另一个名为regInput的function用于控件值改变以前执行，一般用在onkeypress事件中
[参数说明]
	[type] "MaxLength"或者"Regex"（今后还可以持续增加）
	[reg] 对输入内容的限定，如要求输入数字时可以设置reg=/^\d{0,12}(\.\d{0,4})?$/
	[DefaultValue] 可选参数, 输入框的缺省值，默认为空
    [返回值] 类型是bool， true-值有变动 false-值没有变动
[开发者] 刘娟 
[审核者] 
	梁宁 2010-01-05
[更新记录] 
	2009-12-15 创建
	2009-12-29 当输入框变为空白时，需要特殊处理 
	2010-01-05 添加常用的验证函数NumberInput，MoneyInput，IntegerInput，MaxLengthInput
*/
//输入数值，最多5位小数
function NumberInput(DefaultValue)
{
	return RegInput(/^\d{0,12}(\.\d{0,5})?$/,DefaultValue);
}
//输入金额，最多2位小数
function MoneyInput(DefaultValue)
{
	return RegInput(/^\d{0,12}(\.\d{0,2})?$/,DefaultValue);
}
//输入整数
function IntegerInput(DefaultValue)
{
	return RegInput(/^\d{0,12}$/,DefaultValue);
}
//输入字符的最大长度
function MaxLengthInput(MaxLength,DefaultValue)
{
	return CheckInput("MaxLength",MaxLength,DefaultValue)
}
//指定必须匹配的正则表达式
function RegInput(reg,DefaultValue)
{	
	CheckInput("Regex",reg,DefaultValue)
}
function CheckInput(type,value,DefaultValue)
{	
	if(event.propertyName!="value") return false;//如果不是value的值改变，忽略
	var textbox=event.srcElement;//获取输入控件
	var newvalue=textbox.value;//输入的新值
	if(newvalue=="") {textbox.OldValue="";return true;}//输入值为空时，特殊处理
	var result=true;
	if(type=="Regex") result=value.test(newvalue);//新值是否满足限定条件
	else if(type=="MaxLength") 
	{
		result=(newvalue.length<=value);
		if(!result){alert("您最多只能输入"+value+"个字!");}
	}
	if(!result) //如果不满足，恢复到原有值
	{
		if(textbox.OldValue) textbox.value=textbox.OldValue;
		else {textbox.value=(DefaultValue?DefaultValue:"");}
	}
	else //如果满足，将新值存储起来
	{
		textbox.OldValue=newvalue;
	}
	return result;//返回本次输入是否改变了控件的值
}

//输入验证，必须在控件值改变之前执行，一般用在onkeypress事件中
//作者：王睿
function regInput(reg){
    if( reg == "") return false ;
    var srcElem = event.srcElement
    var oSel = document.selection.createRange()
    oSel = oSel.duplicate()
    oSel.text = ""
    var srcRange = srcElem.createTextRange()
    oSel.setEndPoint("StartToStart", srcRange)
    var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
    event.returnValue = reg.test(num)
}

//功能:检查输入是否是手机号码或是固定电话号码
//作者:兰德贵
//参数说明:
//       obj要验证的控件
//创建日期:2009-9-7 10:28
function checkPhoneNo(obj)
{
    if(obj.value=="")
    {
        return false;
    }
    var reg=/13\d{9}\b|15[0126789]\d{8}\b|18[016789]\d{8}\b|010[- ]?[1-9]\d{7}\b|02\d[- ]?[1-9]\d{6,7}\b|0[3-9]\d{2}[- ]?[1-9]\d{6,7}\b/; 
    var phone;
    phone=obj.value.match(reg);
    if ( phone== null) 
    { 
	    alert("请输入正确的电话或者移动手机号码！"); 
	    return false; 
    }
    return true;
}
/************************************控件验证方法结束************************************/

/************************************日期时间处理方法************************************/
/*日期时间类
[作者] 刘娟  
[使用方法] 使用new DateTime(Adate)或者$D(Adate)初始化一个DateTime对象。
			Adate参数是可选的，可以为Date类型或者yyyy-mm-dd格式的的字符串。
[属性] 
	d [Date]
	Year [int]
	Month [int]
	Day [int]
[使用示例] 
	//根据起始时间和贷款期限设置还款日期
	function SetEndDate()
	{
		var D=$D();
		var start=uc("udsStartDate_udsStartDatetxtDate").value; if(start=="") return;//是否有开始时间
		var length=uc("txtLoanTimeSpan").value;if(length=="") return;//是否有贷款期限
		D.SetDate(start);//起始日期
		length=parseInt(length);//贷款期限
		var timeunit=uc("drpTimeUnit").value;//时间单位		
		if(timeunit=="年") D.AddYears(length);	
		else if(timeunit=="月") D.AddMonths(length);	
		else if(timeunit=="日") D.AddDays(length);	
		uc("udsEndExamDate_udsEndExamDatetxtDate").value=D.ToString();//设置结束时间
	}
[更新记录] 
	2009-12-23
	2009-12-29 添加AddMonths，AddDays，
[审核者]
	梅欢 2009-12-29
*/
function DateTime(Adate)
{
	if(Adate)
	{
		if(typeof(Adate)=="string") this.SetDate(Adate);
		else {this.d=Adate;this.SetYMD();}
	}
	else
	{this.d=new Date();this.SetYMD();}
}
function $D(Adate){return new DateTime(Adate);}
//设置年，月，日属性值
DateTime.prototype.SetYMD=function()
{		
	this.Year=this.d.getFullYear();
	this.Month=this.d.getMonth()+1;			
	this.Day=this.d.getDate();
}
//使用yyyy-mm-dd格式的字符串设置Date
DateTime.prototype.SetDate=function(s)
{
	Trim(s);
	var parts = s.split("-");	
	if(parts.length!=3) return null;			
	this.Year=parseInt(parts[0]);
	this.Month=parseInt(lTrim(parts[1], '0'));			
	this.Day=parseInt(lTrim(parts[2], '0'));
	this.d=new Date(this.Year, this.Month-1, this.Day);
}
//返回Yyyy-mm-dd格式的字符串
DateTime.prototype.ToString=function()
{
	return this.Year+"-"+(this.Month<10?"0":"")+this.Month+"-"+(this.Day<10?"0":"")+this.Day;
}
//将现有日期加上一定的年数
DateTime.prototype.AddYears=function(Years)
{
	this.Year+=Years;this.DealDays();
	this.d = new Date(this.Year, this.Month-1, this.Day);
}
//将现有日期加上一定的月数
DateTime.prototype.AddMonths=function(months)
{
	this.Month = parseInt(this.Month) + parseInt(months);
	if(this.Month >= 13)
	{   
	    var r = parseInt(this.Month) % 12;
	    if(r == 0) r = 12;
	    var ys = (parseInt(this.Month) - r)/12;
	    this.Year = parseInt(this.Year) + ys;
	    this.Month = parseInt(this.Month) - (12 * ys);
	}
	this.DealDays();
	this.d = new Date(this.Year, this.Month-1, this.Day);
}
//将现有日期加上一定的天数
DateTime.prototype.AddDays=function(days)
{
	this.d.setTime(this.d.getTime()+this.MiSecInADay*days);
	this.SetYMD();	
}
//二月的天数
DateTime.prototype.FebDays=function()
{ 
	var year=this.Year;
	return ((year%4 == 0 && year % 100 != 0) || year% 400 == 0)?29:28 ;
}
//处理日期
DateTime.prototype.DealDays=function()
{ 
	if(this.Month==2 && this.Day>this.FebDays())
	{
		this.Day=this.FebDays();
	}
	else if(this.Day==31 && (this.Month==4||this.Month==6||this.Month==9||this.Month==11))
	{
		this.Day=30;
	}
}
//一天相当于多少毫秒
DateTime.prototype.MiSecInADay=86400000.0;
//计算相隔的天数，返回float
DateTime.prototype.DaysBefore=function(ALaterDate)
{
	return (ALaterDate.getTime()-this.d.getTime())/this.MiSecInADay;	
}
// 求两个日期之间的天数 作者：朱晓华
DateTime.prototype.Days=function(beginDate,endDate){
    var d1 = new Date(beginDate.replace(/-/g,"/"));
    var d2 = new Date(endDate.replace(/-/g,"/"));
    if (isNaN(d2-d1)) return 0;
    else return (d2-d1)/(3600*24*1000);
}
//比较两个日期大小 作者：王睿 创建日期：2009-2-5 例：compareDate($("#processForm_txtCostCenterST").val(), $("#processForm_txtCostCenterET").val())
DateTime.prototype.Compare=function(strv1,strv2 )
{
    if ( strv1 && strv2 )
    {
        var strdt1 = strv1.replace(/-/g,"/");
        var strdt2 = strv2.replace(/-/g,"/");
        var d1 = new Date(Date.parse(strdt1));
        var d2 = new Date(Date.parse(strdt2));
        return (d2 -d1 >= 0);
    }
    return true ;
}
// 求两个日期之间的休息日 作者：梅欢
DateTime.prototype.RestDays = function(dtStart, dtEnd)
{
    if (typeof dtEnd == 'string' )
        dtEnd = new Date(dtEnd.replace(/-/g,"/"));
    if (typeof dtStart == 'string' )
        dtStart = new Date(dtStart.replace(/-/g,"/"));

    var days =  parseInt((dtEnd - dtStart) / 86400000);
    var adds = 0;
    var m = (days+ dtStart.getDay() +1) % 7;
    if(m > 0)
        adds = m;
    if(m >2)
        adds = 2;
    
    var redu = 0
    if(dtStart.getDay() > 0)
        redu = 2;
    if(dtStart.getDay() ==1)
        redu =1;
        
    var subtotal = parseInt((days + dtStart.getDay() +1)/7)*2;
    return subtotal - redu + adds;
}
// 求两个日期之间的工作日（不含休息日） 作者：梅欢
DateTime.prototype.WorkDays = function(beginDate,endDate)
{
//    var nday = this.Days(beginDate,endDate);
//    var nholiday = this.RestDays(beginDate, endDate);
//    return (nday - nholiday);
    var dStart = new Date(beginDate.replace(/-/g,"/"));
    var dEnd = new Date(endDate.replace(/-/g,"/"));
    var iSatCount = 0; 
    var sumDay = 0; 
    do{
        if(dStart.getDay()==6 || dStart.getDay()==0) 
            iSatCount++; 
          else 
            sumDay++; 
        dStart.setDate(dStart.getDate()+1); 
    }
    while(dStart.getTime() <= dEnd.getTime()) 
    return sumDay; 
}

/*
功能：判断两个日期之间（yyyy-MM-dd）的天数之差是否超过给定的天数
作者：吕刚
输入：beginDate(之前日期),endDate(之后日期),Days(相隔天数),isHoliday(双休日是否在间隔天数内)
输出：ture or false (if beginDate<endDate 则返回false) */
function HowDay(beginDate,endDate,days,isHoliday)
{
    var strdt1=beginDate.replace(/-/g,"\/");
    var strdt2=endDate.replace(/-/g,"\/");
    var d1=new Date(strdt1);
    var d2=new Date(strdt2);
    if(d2-d1<0) return false;
    var count = DiffDate(strdt1,strdt2);
    var tag = false;
    if(isHoliday)
    {
        if(count>=days) tag=true;
    }
    else
    {
        switch(String(d1.getDay()))
        {
            case "0":
            case "1":
            case "2":
                tag=count>days-1;
                break;
            case "3":
            case "4":
            case "5":
                tag=count>days+1;
                break;
            case "6":
                tag=count>days;
                break;
            default :
                
        }
    }
    return tag;
}

/* 功能：日期格式化函数
 * 朱晓华加入
 * Date Format 1.2.2
 * (c) 2007-2008 Steven Levithan <stevenlevithan.com>
 * MIT license
 * Includes enhancements by Scott Trenda <scott.trenda.net> and Kris Kowal <cixar.com/~kris.kowal/>
 *
 * Accepts a date, a mask, or a date and a mask.
 * Returns a formatted version of the given date.
 * The date defaults to the current date/time.
 * The mask defaults to dateFormat.masks.default.
now.format("m/dd/yy"); // Returns, e.g., 6/09/07
 */
var dateFormat = function () {
	var	token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
		timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
		timezoneClip = /[^-+\dA-Z]/g,
		pad = function (val, len) {
			val = String(val);
			len = len || 2;
			while (val.length < len) val = "0" + val;
			return val;
		};

	// Regexes and supporting functions are cached through closure
	return function (date, mask, utc) {
		var dF = dateFormat;

		// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
		if (arguments.length == 1 && (typeof date == "string" || date instanceof String) && !/\d/.test(date)) {
			mask = date;
			date = undefined;
		}

		// Passing date through Date applies Date.parse, if necessary
		date = date ? new Date(date) : new Date();
		if (isNaN(date)) throw new SyntaxError("invalid date");

		mask = String(dF.masks[mask] || mask || dF.masks["default"]);

		// Allow setting the utc argument via the mask
		if (mask.slice(0, 4) == "UTC:") {
			mask = mask.slice(4);
			utc = true;
		}

		var	_ = utc ? "getUTC" : "get",
			d = date[_ + "Date"](),
			D = date[_ + "Day"](),
			m = date[_ + "Month"](),
			y = date[_ + "FullYear"](),
			H = date[_ + "Hours"](),
			M = date[_ + "Minutes"](),
			s = date[_ + "Seconds"](),
			L = date[_ + "Milliseconds"](),
			o = utc ? 0 : date.getTimezoneOffset(),
			flags = {
				d:    d,
				dd:   pad(d),
				ddd:  dF.i18n.dayNames[D],
				dddd: dF.i18n.dayNames[D + 7],
				m:    m + 1,
				mm:   pad(m + 1),
				mmm:  dF.i18n.monthNames[m],
				mmmm: dF.i18n.monthNames[m + 12],
				yy:   String(y).slice(2),
				yyyy: y,
				h:    H % 12 || 12,
				hh:   pad(H % 12 || 12),
				H:    H,
				HH:   pad(H),
				M:    M,
				MM:   pad(M),
				s:    s,
				ss:   pad(s),
				l:    pad(L, 3),
				L:    pad(L > 99 ? Math.round(L / 10) : L),
				t:    H < 12 ? "a"  : "p",
				tt:   H < 12 ? "am" : "pm",
				T:    H < 12 ? "A"  : "P",
				TT:   H < 12 ? "AM" : "PM",
				Z:    utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
				o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
				S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
			};

		return mask.replace(token, function ($0) {
			return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
		});
	};
}();
// Some common format strings
dateFormat.masks = {
	"default":      "ddd mmm dd yyyy HH:MM:ss",
	shortDate:      "m/d/yy",
	mediumDate:     "mmm d, yyyy",
	longDate:       "mmmm d, yyyy",
	fullDate:       "dddd, mmmm d, yyyy",
	shortTime:      "h:MM TT",
	mediumTime:     "h:MM:ss TT",
	longTime:       "h:MM:ss TT Z",
	isoDate:        "yyyy-mm-dd",
	isoTime:        "HH:MM:ss",
	isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
	isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
};
// Internationalization strings
dateFormat.i18n = {
	dayNames: [
		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
		"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
	],
	monthNames: [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	]
};
//注意，这里已经将此函数加入到了Date的Prototype
Date.prototype.format = function (mask, utc) {
	return dateFormat(this, mask, utc);
};
/************************************日期时间处理方法结束************************************/


/************************************UPM基本通用方法************************************/
//作者：刘娟
//创建：2009-10-01
//最后更新：2009-12-24
var UPM=new Object();
UPM.Pre="processForm_";
UPM.Pre1="#processForm_";

//使用控件id获取upm控件(uc)的通用方法
function uc(ControlID){return document.getElementById(UPM.Pre+ControlID);}
function $U(ControlID){return $(UPM.Pre1+ControlID);}

//检查至少上传一个附件
UPM.CheckAtLeast1Attach=function()
{	
	var attach = uc("Attachment1_hidnAttaches").value;
	if(attach=='') return false;
	var xmldoc	= new ActiveXObject("MSXML.DOMDocument");
    xmldoc.loadXML(attach);
    var nodes=xmldoc.documentElement.selectNodes("//Attach");
    return nodes!=null;
}

//当前环节是否是新建环节
UPM.IsNew=function(){return $("#hidenActName").val()=="新建";};

//环节比较，比较当前的环节和传入的一个指定环节
//如果本环节大于此环节，返回1
//如果本环节小于此环节，返回2
//如果本环节等于此环节，返回3
//comAct需要比较的环节
function ActComparison(comAct)
{
    var iFeng = comAct;
    iFeng = parseFloat(iFeng.substring(0,3));
    var CurrentAct = $("#hidenActName").val();
    if(CurrentAct=="新建")
    {
        return "-1";  
    }
    else if(CurrentAct=="流程已完成")
    {
        return "-2";
    }
    
    CurrentAct = parseFloat(CurrentAct.substring(0,3));
    if(CurrentAct==iFeng)
    {//等于
        return "3";
    }else if(CurrentAct < iFeng)
    {//小于
        return "2";
    }else if(CurrentAct > iFeng)
    {//大于
        return "1";
    }else
    {
        return "-3" //未知的环节
    }
}
/************************************UPM基本通用方法结束************************************/

/************************************弹出页面调用方法************************************/
//弹出银行选择页面
UPM.GetBank=function(BankNameID,BankCodeID)
{
	var url="/Workflow/Common/BankSel.aspx";
	var strRet = window.showModalDialog(url,"","scroll=no;dialogLeft:190px;dialogTop:180px;dialogheight:550px;dialogwidth:700px;center:1;status:0");
	if( strRet == null || strRet.split(',').length!=2) {return;}
	var str1 = strRet.split(",");
	uc(BankNameID).value=str1[1];
	uc(BankCodeID).value=str1[0];
};

// 功能:统一弹出窗口的调用方法，使弹出窗口自动居于屏幕中间，并根据屏幕分辨率进行自适应
// 作者:朱晓华
// 参数说明：
//     url: 弹出窗口地址，无需进行encode
//     width: 窗口宽度px，缺省为800
//     height:窗口高度px，缺省为600
//     option:window.showModalDialog的第二个参数
// 返回：弹出页面返回值
// 创建日期: 2009-5-20
function OpenDialog(url,width,height,option){
    url = encodeURI(url);
    if(typeof(width)=='undefined'){width=800;}
    if(typeof(height)=='undefined'){height=600;}
    if(typeof(option)=='undefined'){option='';}
    var left=(screen.width-width)/2;
    var top=(screen.height-height)/2;
    return window.showModalDialog(url,option,
        "scroll:no;dialogLeft:"+left
        +"px;dialogTop:"+top
        +"px;dialogHeight:"+height
        +"px;dialogWidth:"+width+"px;center:1;status:0");
}

// 功能：选择“项目编号(WBS)或内部订单号”。
// 作者：黄平显
// 输入参数：
//    txtWBS：显示项目编号的输入框ID，
//    txtProjectName：显示项目名称的输入框ID，
//    txtProjectLeader：显示项目负责人姓名的输入框ID，
//    hdfProjectLeader：保存项目负责人员工编号的控件ID,
//    project:("false","true")是否显示项目选择选项卡
//    order:("false","true")是否显示内部订单选择选项卡
// 创建日期：2009-2-13
// 说明：需要引用JQuery，只能在表单框架中引用。
function selProjectEx(txtWBS,txtProjectName,txtProjectLeader,hdfProjectLeader,project,order){
    var url="/Workflow/Common/ProjectSel.aspx?project=" + project + "&Order=" + order + "&rnd=" + Math.random();    
    var strRet = OpenDialog(url,800,700);
   
    if( strRet == null ||strRet==undefined) //用户如果没有选择的话就清空控件里面的值
    {
        $("#processForm_"+txtWBS).val("");
        $("#processForm_"+txtProjectName).val("");
        return;
    }
    
    var str1 = strRet.split("!#");
    $("#processForm_"+txtWBS).val(str1[1]);
    $("#processForm_"+txtProjectName).val(str1[2]);
    if ( txtProjectLeader != "" || hdfProjectLeader != "" ){
        if(str1[3]){
            jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
                if(userinfo && userinfo !=""){
                    var userinfos = userinfo.split(",");
                    if ( $("#processForm_"+hdfProjectLeader).length != 0 ){
                        $("#processForm_"+hdfProjectLeader).val(userinfos[0]);
                    }
                    if ( $("#processForm_"+txtProjectLeader).length != 0 ){
                        $("#processForm_"+txtProjectLeader).val(userinfos[1]);
                    }
                }
                else{
                    alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
                }
            });
        }
    }
    return str1[0];
}

//获取银行信息
//txtUser 供应商ID
//txtBankID银行账号
//txtOpenBank开户银行
//txtOpenName开户名称
//NOP是否在供应商前加P
// marsk , true, false 是否将银行代码隐藏
function getBankInfoByUserID(txtUser,txtBankID,txtOpenBank,txtOpenName,txtAccountAddress,NOP,txtBankID_twin,CooperateBank, marsk)
{
    if(NOP !=undefined)
    {
        var url="/Workflow/CNPEC/Common/SelectBankInfo.aspx?staffid="+ $("#processForm_"+txtUser).val()+"&NOP='Y'";
    }
    else
    {
        var url="/Workflow/CNPEC/Common/SelectBankInfo.aspx?staffid="+ $("#processForm_"+txtUser).val();
    }
    var strRet = window.showModalDialog(url,"","scroll=no;dialogLeft:190px;dialogTop:180px;dialogheight:550px;dialogwidth:700px;center:1;status:0");

    if( strRet == null || strRet == "!#!#!#") {return;}
    var str1 = strRet.split("!#");
    var BANKN = str1[2];
    if(txtBankID_twin)
        $("#processForm_" + txtBankID_twin).val(BANKN);
    if(marsk == undefined && BANKN.length >= 4)
    {
        BANKN = BANKN.substr(0, BANKN.length - (4)) + "****";
    }
    $("#processForm_"+txtBankID).val(BANKN);
    $("#processForm_"+txtOpenBank).val(str1[3]);
    $("#processForm_"+txtOpenName).val(str1[1]);
    $("#processForm_"+txtAccountAddress).val(str1[4]);
    $("#processForm_"+CooperateBank).val(str1[5]);
    return;
}

//选择币种
function selectCurrency(ctrl){
    var url="/Workflow/Common/CurrencyTypeSel.aspx";
    var strRet = window.showModalDialog(url,"","scorll:y;dialogLeft:190px;dialogTop:180px;dialogheight:550px;dialogwidth:700px;center:1;status:0");
    if( strRet == null )
    {return;}
    var str1 = strRet.split("!#");
    $(ctrl).val(str1[1]);
}


/*
功能：选择职能部门可以多选，并修改页面上的相关ASP.net控件
作者：朱晓华
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
创建日期：2009-2-2
说明：需要引用JQuery，由于控件ID增加了processForm_前缀，只能在表单框架中引用。
修改：2009-3-3 增加了一个RootOrgID参数,默认为all
      2009-8-4 增加了（控件ID前缀）参数 --梁宁
      2009-11-12 增加txtDeptID 参数  可以将所选择部门的ID(类似于OR4290)带出
*/
function SelectCommonDestDeptMultiple(txtDeptName,txtDeptNo,RootOrgID,Prefix,txtDeptID){
    var procSetID=$("#hidenProcSetId").val();//表单框架中的ProcSetID
    var choosedObj=new Object();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=false"+       //是否显示选人
        "&peopleOnlyOne=false"+         //是否只能选一个
        "&orgTabDisplay=true"+          //是否显示选组织
        "&orgOnlyOne=false"+             //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=false"+          //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +         //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    

    var strPrefix = "#processForm_";//默认控件前缀
    if(typeof(Prefix)!="undefined"){//其他前缀
        strPrefix = "#"+Prefix;
    }
    if( strRet == "*@*@*@*@*@*" ){
        $(strPrefix+txtDeptName).val("") ;
        $(strPrefix+txtDeptNo).val("");
        if(typeof(txtDeptID)!="undefined"){
            $(strPrefix+txtDeptID).val("");
        }
    }
    else{
        try
        {
            var str = strRet.split('*@')[1];
            var deptOR = str.replace("@","").split('*')[1];
            str = str.substring(0,str.length-1);           

            if(typeof(txtDeptID)!="undefined"){
                $(strPrefix+txtDeptID).val(str.split('*')[1]);
            }            
            str = str.split('*')[0];
            $(strPrefix + txtDeptName).val(str);//原来是str.substring(str.indexOf("]")+1)
            $(strPrefix + txtDeptNo).val(deptOR);
        }
        catch(ex)
        {
            if(typeof(txtDeptID)!="undefined"){
                $(strPrefix+txtDeptID).val("");
            }
            $(strPrefix + txtDeptName).val("") ;
            $(strPrefix + txtDeptNo).val("");
        }
    }
    return true;
}

/*
功能：选择职能部门，并修改页面上的相关ASP.net控件
作者：朱晓华
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
创建日期：2009-2-2
说明：需要引用JQuery，由于控件ID增加了processForm_前缀，只能在表单框架中引用。
修改：2009-3-3 增加了一个RootOrgID参数,默认为all
      2009-8-4 增加了（控件ID前缀）参数 --梁宁
      2009-11-12 增加txtDeptID 参数  可以将所选择部门的ID(类似于OR4290)带出
*/
function SelectCommonDestDept(txtDeptName,txtDeptNo,RootOrgID,Prefix,txtDeptID){
    var procSetID=$("#hidenProcSetId").val();//表单框架中的ProcSetID
    var choosedObj=new Object();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    //*@[32030000]设备采购与成套中心*OR4702@*@*@*@*
    choosedObj.choosedValue="*@*@*@*@*@*";
    
    var strPrefix = "#processForm_";//默认控件前缀
    if(typeof(Prefix)!="undefined"){//其他前缀
        strPrefix = "#"+Prefix;
    }
    //构造默认选中，字符串
    if(txtDeptName != undefined && txtDeptID!= undefined){
        var OriName = $(strPrefix+txtDeptName).val();
        var OriID = $(strPrefix+txtDeptID).val();
        if(OriName!="" && OriID !=""){
            choosedObj.choosedValue="*@"+OriName +"*"+OriID +"@*@*@*@*"
        }
    }
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=false"+       //是否显示选人
        "&peopleOnlyOne=false"+         //是否只能选一个
        "&orgTabDisplay=true"+          //是否显示选组织
        "&orgOnlyOne=true"+             //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=false"+          //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +         //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
   
    if( strRet == "*@*@*@*@*@*" ){
        $(strPrefix+txtDeptName).val("") ;
        $(strPrefix+txtDeptNo).val("");
        if(typeof(txtDeptID)!="undefined"){
            $(strPrefix+txtDeptID).val("");
        }
    }
    else{
        try
        {
            var str = strRet.split('*@')[1];
            str = str.substring(0,str.length-1);           
            if(typeof(txtDeptID)!="undefined"){
                $(strPrefix+txtDeptID).val(str.split('*')[1]);
            }            
            str = str.split('*')[0];
            $(strPrefix + txtDeptName).val(str);//原来是str.substring(str.indexOf("]")+1)
            $(strPrefix + txtDeptNo).val(str.substring(1,str.indexOf("]")));
        }
        catch(ex)
        {
            if(typeof(txtDeptID)!="undefined"){
                $(strPrefix+txtDeptID).val("");
            }
            $(strPrefix + txtDeptName).val("") ;
            $(strPrefix + txtDeptNo).val("");
        }
    }
    return true;
}

function SelectFenGongSiForCNGNWP(txtDeptName,txtDeptNo,RootOrgID,Prefix){
    var procSetID=$("#hidenProcSetId").val();//表单框架中的ProcSetID
    var choosedObj=new Object();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../Workflow/Common/SelFenGongSi.aspx?"+
        "peopleTabDisplay=false"+       //是否显示选人
        "&peopleOnlyOne=false"+         //是否只能选一个
        "&orgTabDisplay=true"+          //是否显示选组织
        "&orgOnlyOne=true"+             //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=false"+          //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +         //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();
            
    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    
    var strPrefix = "#processForm_";//默认控件前缀
    if(typeof(Prefix)!="undefined"){//其他前缀
        strPrefix = "#"+Prefix;
    }
    
    if( strRet == "*@*@*@*@*@*" ){
        $(strPrefix+txtDeptName).val("") ;
        $(strPrefix+txtDeptNo).val("");
    }
    else{
        try
        {
            var str = strRet.split('*@')[1];
            str = str.substring(0,str.length-1);
            str = str.split('*')[0];

            $(strPrefix + txtDeptName).val(str);//原来是str.substring(str.indexOf("]")+1)
            $(strPrefix + txtDeptNo).val(str.substring(1,str.indexOf("]")));
        }
        catch(ex)
        {
            $(strPrefix + txtDeptName).val("") ;
            $(strPrefix + txtDeptNo).val("");
        }
    }
    return true;
}

/*
功能： 不再用户控件 选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
作者：向添滨
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserNoUserControl(userName, userId, useridHdf){
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    if (document.getElementById(useridHdf))
    {
        choosedObj.choosedValue = document.getElementById(useridHdf).value;//hidden
    }
    //choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID=all"+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}

    if( strRet == undefined || strRet == null )
      {  return ; }
    else if( strRet =="*@*@*@*@*@*")
      {
            document.getElementById(userName).value="";
            document.getElementById(userId).value="";
            if (document.getElementById(useridHdf))
	      {
            document.getElementById(useridHdf).value="";
          }
      }
     else {

	     var names = strRet.replace(/^(\[[^\*]+)\*.*/i,"$1");
	     var codes = strRet.match(/(?!\[)\w+(?=\])/ig);
	     var CodeStr ="";
	      for(var i=0;i<codes.length;i++)
	      {
		    CodeStr += codes[i]+",";
	      }
	      if(CodeStr) CodeStr = CodeStr.substring(0,CodeStr.length-1);//去掉,

	      document.getElementById(userName).value=names;
	      if (document.getElementById(useridHdf))
	      {
            document.getElementById(useridHdf).value=strRet;
          }
	      document.getElementById(userId).value=CodeStr;
         return true;
     }
}

/*
功能：选择员工,可多选,可限制个数
作者：黄喆
输入参数：
    userName：用户名称
    userId：用户ID
    memberNum:最大个数
    RootOrgID:组织根节点
创建日期：2010-06-01
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserLimitNum(userName, userId,memberNum,RootOrgID){
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=false"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+RootID+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    
    if (str1[0].split(",").length > memberNum)
    {
        alert("最多只允许选择"+memberNum+"人!");
        return false;
    }

    $("#processForm_"+userName).val(str1[0]) ;//原来是str2[1]
    var useridstr = str1[0].replace(/(\[)|(\][^,]+)/g, "");
    $("#processForm_"+userId).val(useridstr);

    return true;
}


/*
功能：选择某员工,可多选,上级限制
作者：
输入参数：
    userName：用户名称
    userId：用户ID
    onlyOne: true|false 是否单选
    RootOrgID:部门ID,限制只能在某个部门中选择
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserOnlyOneUpDept(userName, userId,onlyOne,RootOrgID,deptName,deptId,deptType){

    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var deptType=(typeof(deptType)=="undefined")? "":deptType;
    var onlyOne;
    if(onlyOne==undefined) {onlyOne=true;}
    else {onlyOne=onlyOne;}
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+onlyOne+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+RootID+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");

    $("#processForm_"+userName).val(str1[0]) ;//原来是str2[1]
    var useridstr = str1[0].replace(/(\[)|(\][^,]+)/g, "");
    $("#processForm_"+userId).val(useridstr);

    if (((deptName != undefined || deptId !=undefined) && useridstr!="")&& onlyOne=="true"){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+useridstr+"&type="+deptType, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");                
                $("#processForm_"+deptId).val(deptInfoArray[1]);
                $("#processForm_"+deptName).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
                if(deptType=="Dept"){
                    $("#processForm_"+deptId).val(deptInfoArray[8]);
                    $("#processForm_"+deptName).val("["+deptInfoArray[8]+"]"+deptInfoArray[9]);
                }
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}

function SelectUserOnlyOneUpDept1(userName, userId,onlyOne,RootOrgID,deptName,deptId){

    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var onlyOne;
    if(onlyOne==undefined) {onlyOne=true;}
    else {onlyOne=onlyOne;}
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+onlyOne+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+RootID+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");

    $("#processForm_"+userName).val(str1[0]) ;//原来是str2[1]
    var useridstr = str1[0].replace(/(\[)|(\][^,]+)/g, "");
    $("#processForm_"+userId).val(useridstr);

    if (((deptName != undefined || deptId !=undefined) && useridstr!="")&& onlyOne=="true"){
        jQuery.get("/Workflow/CGNWP/Common/DeptForm.aspx?userid="+useridstr, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = eval(deptInfo);
                $("#processForm_"+deptId).val(deptInfoArray.DeptID);
                $("#processForm_"+deptName).val(deptInfoArray.DeptName);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}


/*
功能：选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
作者：朱晓华
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
修改：
    2009-10-10 朱才(pcitzhc)：添加RootOrgID参数
     2009-10-15 刘君(pcitjun)：调整高度、宽度
*/
function SelectUser(userName, userId, deptName, deptId,onlyOne,RootID,showNo,Pre){


    var Root="all";
    if(RootID!=undefined)
    {
        Root=RootID;
    }
    var pre="#processForm_"
    if(Pre!=undefined)
    {
        pre=Pre;
    }
    var show=false;
    if(show!=undefined)
    {
        show=showNo;
    }
    var onlyOne;
    if(onlyOne==undefined) {onlyOne=true;}
    else {onlyOne=onlyOne;}
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+onlyOne+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+Root+        //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,500,choosedObj);
    if( strRet == null ) {return;}
    var str1 = strRet.split("*");
    var str2 = str1[0].match(/(?!\[)\w+(?=\])/ig);
    var str3 = str1[0].match(/(?!\])[^\]]+(?=\,|$)/ig) ;
    var userIdVal=str2!=null?str2.join(","):"";
    var userNameVal=str3!=null?str3.join(","):"";

    if(!show)
    {
        $(pre+userName).val(userNameVal) ;//姓名
        $("#"+userName).val(userNameVal) ;//姓名
    }
    else
    {
        $(pre+userName).val(str1[0]) ;//[账号]姓名
        $("#"+userName).val(str1[0]) ;//[账号]姓名
    }
    $(pre+userId).val(userIdVal);
    $("#"+userId).val(userIdVal);

    if ((deptName != "" || deptId !="") && userIdVal!=""){
        var temp=userIdVal.split(",");
        for(var i=0;i<temp.length;i++)
        {
//            jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+temp[i],{async: false}, function(deptInfo){
//                if(deptInfo && deptInfo !=""){
//                    var deptInfoArray = deptInfo.split(",");
//                    $(pre+deptId).val(deptInfoArray[1]);
//                    $(pre+deptName).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
//                }
//                else{
//                    alert( "员工["+temp[i]+"]部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
//                }
//            });
               

            jQuery.ajax({
                type: "get",
                async: false,//控制同步 异步!!!!!!!!!!!!!!! 
                url: "/Workflow/Common/GetUserDept.ashx?userid="+temp[i],
                success: function (deptInfo) {
                    if(deptInfo && deptInfo !=""){
                        var deptInfoArray = deptInfo.split(",");
                        $(pre+deptId).val(deptInfoArray[1]);
                        $(pre+deptName).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
                    }
                    else{
                        alert( "员工["+temp[i]+"]部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
                    }
                },
                error: function (err) {
                alert(err);
                }
            });
        }
    }
    return true;
}
/*
功能：选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
作者：田丰亮
输入参数：
    userName：显示本行姓名输入控件的dname
    userId：显示本行用户号输入控件的dname
    txtDeptName：显示本行部门名称的输入框dname，
    txtDeptNo：存储本行部门ID的输入框dname
创建日期：2009-2-2
说明：用于动态表格中选人
修改：
*/
function DnmcSelectUser(userName, userId, deptName, deptId,onlyOne,RootID,showNo,btnsele){
    var Root="all";
    if(RootID!=undefined)
    {
        Root=RootID;
    }
    var show=false;
    if(showNo!=undefined)
    {
        show=showNo;
    }
    var onlyOne;
    if(onlyOne==undefined) {onlyOne=true;}
    else {onlyOne=onlyOne;}
    var currentRow = $(btnsele).parent().parent();
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+onlyOne+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+Root+        //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,500,choosedObj);
    if( strRet == null ) {return;}
    var str1 = strRet.split("*");
    var str2 = str1[0].match(/(?!\[)\w+(?=\])/ig);
    var str3 = str1[0].match(/(?!\])[^\]]+(?=\,|$)/ig) ;
    var userIdVal=str2!=null?str2.join(","):"";
    var userNameVal=str3!=null?str3.join(","):"";

    if(!show)
    {
        $("[dname = '" +userName+ "']",currentRow).val(userNameVal);
    }
    else
    {
         $("[dname = '" +userName+ "']",currentRow).val(str1[0]) ;//[账号]姓名
    }
     $("[dname = '" +userId+ "']",currentRow).val(userIdVal);
    if ((deptName != "" || deptId !="") && userIdVal!=""){
        var temp=userIdVal.split(",");
        for(var i=0;i<temp.length;i++)
        {
            jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+temp[i], function(deptInfo){
                if(deptInfo && deptInfo !=""){
                    var deptInfoArray = deptInfo.split(",");
                    $("[dname = '" +deptName+ "']",currentRow).val(deptInfoArray[1]);
                    $("[dname = '" +deptId+ "']",currentRow).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
                }
                else{
                    alert( "员工["+temp[i]+"]部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
                }
            });
        }
    }
    return true;
}

/*
功能：选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
返回部门名称的全称（公司名称+部门名称）
作者：王鹏志
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
创建日期：2010-1-15
说明：需要引用JQuery，只能在表单框架中引用。

*/
function SelectUserAndDeptFullName(userName, userId, deptName, deptId,onlyOne,RootOrgID){

    RootOrgID = RootOrgID || "all";
    var onlyOne;
    if(onlyOne==undefined) {onlyOne=true;}
    else {onlyOne=onlyOne;}
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+onlyOne+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+RootOrgID+        //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,500,choosedObj);
    if( strRet == null ) {return;}
    var str1 = strRet.split("*");
    var str2 = str1[0].match(/(?!\[)\w+(?=\])/ig);
    var str3 = str1[0].match(/(?!\])[^\]]+(?=\,|$)/ig) ;
    var userNameVal=str3!=null?str3.join(","):"";
    $("#processForm_"+userName).val(str1[0]) ;//原来是str2[1]
    var userIdVal=str2!=null?str2.join(","):"";
    $("#processForm_"+userId).val(str2[0]);
    if ((deptName != "" || deptId !="") && userIdVal!=""){
        var temp=userIdVal.split(",");
        for(var i=0;i<temp.length;i++)
        {
            jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+temp[i], function(deptInfo){
                if(deptInfo && deptInfo !=""){
                    var deptInfoArray = deptInfo.split(",");
                    $("#processForm_"+deptId).val(deptInfoArray[1]);
                    $("#processForm_"+deptName).val(deptInfoArray[11] + deptInfoArray[2]);
                }
                else{
                    alert( "员工["+temp[i]+"]部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
                }
            });
        }
    }
    return true;
}


/*
功能：选择员工， 可选择多个
作者：梅欢
输入参数：
    userName：人员名称的输入框ID，
    userId：人员ID的输入框ID
    bMulti：true选择一个，false选择多个
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserMulti(userName, userId, bMulti){

    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+ bMulti +     //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID=all"+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,500,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");

    $("#processForm_"+userName).val(str1[0]) ;//原来是str2[1]
    $("#"+userName).val(str1[0]) ;
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));

    if( userId != '' && userIdVal != '')
    {
        $("#processForm_"+userId).val(userIdVal);
        $("#"+userId).val(userIdVal);
    }
   

    return true;
}

/*
功能：选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
作者：黄喆
输入参数：
    deptName：显示部门ID再加名称的输入框ID
    deptId：存储部门ID的输入框ID
    prefix:　控件在客户端显示的前缀　　
创建日期：2009-2-2
修改日期：2009-9-9 添加prefix，以适应嵌套表单的情况
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUser2(userName, userId, deptName, deptId, prefix){
    var prfx=typeof(prefix)=="undefined"?"#processForm_":"#"+prefix;
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID=all"+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,520,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");

    $(prfx+userName).val(str1[0]) ;//原来是str2[1]
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));

    if( userId != '')
    $(prfx+userId).val(userIdVal);

    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $(prfx+deptId).val(deptInfoArray[1]);
                $(prfx+deptName).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}

/*
功能：根据组织ID,选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
作者：王鹏志
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
创建日期：2009-4-13
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserInDestDept(userName, userId, deptName, deptId,RootOrgID){
   
    
    var procSetID=$("#hidenProcSetId").val();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var choosedObj=new Object();

    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +                //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,550,choosedObj);
    if( strRet == null||strRet=="*@*@*@*@*@*") {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");  
   $("#processForm_"+userName).val( str2[0] + ']' + str2[1]) ;
   //  $("#processForm_"+userName).val(str2[1]) ;
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));

    if( userId != '' && userIdVal != '')
    $("#processForm_"+userId).val(userIdVal);

    if ((deptName != "" || deptId !="") && userIdVal!=""){
//        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal, function(deptInfo){
//            if(deptInfo && deptInfo !=""){
//                var deptInfoArray = deptInfo.split(",");
//                $("#processForm_"+deptId).val(deptInfoArray[1]);
//                $("#processForm_"+deptName).val('[' +deptInfoArray[1] + ']' + deptInfoArray[2]);
//               // $("#processForm_"+deptName).val(deptInfoArray[2]);
//            }
//            else{
//                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
//            }
            
            jQuery.ajax({
                type: "get",
                async: false,//控制同步 异步!!!!!!!!!!!!!!! 
                url: "/Workflow/Common/GetUserDept.ashx?userid="+userIdVal,
                success: function (deptInfo) {
                    if(deptInfo && deptInfo !=""){
                        var deptInfoArray = deptInfo.split(",");
                        $("#processForm_"+deptId).val(deptInfoArray[1]);
                        $("#processForm_"+deptName).val('[' +deptInfoArray[1] + ']' + deptInfoArray[2]);
                       // $("#processForm_"+deptName).val(deptInfoArray[2]);
                    }
                    else{
                        alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
                    }
                },
                error: function (err) {
                alert(err);
                }
        });
    }
    return true;
}



/*
功能：根据组织ID,选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件(中核能专用，不区分工程公司，等设计院，生产部门等)
作者：田丰亮
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
创建日期：2009-4-13
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserInDestDept2(userName, userId, deptName, deptId,RootOrgID){

    
    var procSetID=$("#hidenProcSetId").val();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var choosedObj=new Object();

    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +                //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,550,choosedObj);
    if( strRet == null||strRet=="*@*@*@*@*@*") {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
   $("#processForm_"+userName).val( str2[0] + ']' + str2[1]) ;
   //  $("#processForm_"+userName).val(str2[1]) ;
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));

    if( userId != '' && userIdVal != '')
    $("#processForm_"+userId).val(userIdVal);

    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Chinagy/Common/GetDeptByUserId.ashx?userid="+userIdVal, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#processForm_"+deptId).val(deptInfoArray[1]);
                $("#processForm_"+deptName).val('[' +deptInfoArray[1] + ']' + deptInfoArray[2]);
               // $("#processForm_"+deptName).val(deptInfoArray[2]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}

/*
功能：选取组织
作者：向添滨
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
输入员工对应的处级部门
创建日期：2009-9-24
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectOrg(txtDeptName,txtDeptNo,txtDuty,RootOrgID){
    var procSetID=$("#hidenProcSetId").val();//表单框架中的ProcSetID
    var choosedObj=new Object();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;

    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=false"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=true"+        //是否显示选组织职位
        "&sPosOnlyOne=true"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+RootOrgID+          //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    
    if( strRet == "*@*@*@*@*@*" ){
    
        $("#"+txtDeptName).val("") ;
        $("#"+txtDeptNo).val("");
    }
    else{
        try
        {
            var str = strRet.replace("*@*@*@*@*@","");
            text = str.split('*')[0];
            value = str.split('*')[1];
                
            $("#"+txtDeptName).val(text);
            $("#"+txtDeptNo).val(value.split("::")[0].replace("ZW",""));
            var deptduty = value.split(",");
            var dutys="";
            for(var i = 0 ; i < deptduty.length;i++)
            {
                 dutys = dutys + deptduty[i].split("::")[1]+",";
            }
            dutys = dutys.substring(0,dutys.length-1);
            $("#"+txtDuty).val(dutys);
        }
        catch(ex)
        {
            $("#"+txtDeptName).val("") ;
            $("#"+txtDeptNo).val("");
        }
    }
    return true;
}

/*
功能：根据组织ID,选择某员工，并将员工姓名写入nameElementName，将员工ID写入idElementName控件
作者：王鹏志
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
输入员工对应的处级部门
创建日期：2009-9-9
说明：需要引用JQuery，只能在表单框架中引用。
修改：2009-10-19 刘君修改，弹出框高度与宽度
*/
function SelectUserInDestChuDept(userName, userId, deptName, deptId,RootOrgID){
    var procSetID=$("#hidenProcSetId").val();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var choosedObj=new Object();

    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +                //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,520,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
   $("#processForm_"+userName).val( str2[0] + ']' + str2[1]) ;
   //  $("#processForm_"+userName).val(str2[1]) ;
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));

    if( userId != '' && userIdVal != '')
    $("#processForm_"+userId).val(userIdVal);

    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#processForm_"+deptId).val(deptInfoArray[8]);
                $("#processForm_"+deptName).val('[' +deptInfoArray[8] + ']' + deptInfoArray[9]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}


/*
功能：选择某员工
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门名称的输入框ID
    deptId：部门ID的输入框ID
    userLevel：员工职位级别
    isSheJiYuan：是否设计院员工1是 0否
    isProductDept：是否生产部门1是 0否
    isSheZongDept：是否设总审批部门1是 0否
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/

/*
功能：选择某员工
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门名称的输入框ID
    deptId：部门ID的输入框ID
    userLevel：员工职位级别
    isSheJiYuan：是否设计院员工1是 0否
    isProductDept：是否生产部门1是 0否
    isSheZongDept：是否设总审批部门1是 0否
    msg：如果只能选择自己时的提示信息
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserAndLevel(userName, userId, deptName, deptId, userLevel, isSheJiYuan, isProductDept, isSheZongDept, RootOrgID, startUser,msg){
    var procSetID=$("#hidenProcSetId").val();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,500,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
    
    var strStartUser=(typeof(startUser)=="undefined" || startUser=="")? "":startUser;
    if(strStartUser != "" && strStartUser.toUpperCase() != userIdVal.toUpperCase())
    {
         var strValue = $.ajax({
                  url: "/Workflow/CNPEC/Common/EvectionSecretary.ashx?applyuserid="+userIdVal+"&startuserid="+strStartUser,
                  async: false
                 }).responseText;
        if(strValue != "1")
        {
            if(!msg||msg==""){//如果没有传入参数或传入的为空字符串提信息则默认
                alert("根据公司财务规定，出差申请内的申请人只能选择个人自己，部处的秘书可以在出差申请内选择部处内的员工。");
            }else{
                alert(msg);
            }
            return false;
        }
    }
    
    if( userId != '' && userIdVal != '')
    {
        $("#processForm_"+userName).val("["+ userIdVal +"]"+ str2[1]);
        $("#processForm_"+userId).val(userIdVal);
    }

    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#processForm_"+deptId).val(deptInfoArray[1]);
                $("#processForm_"+deptName).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
                $("#processForm_"+userLevel).val(deptInfoArray[3]);
                $("#processForm_"+isSheJiYuan).val(deptInfoArray[6]);
                $("#processForm_"+isProductDept).val(deptInfoArray[7]);
                $("#processForm_"+isSheZongDept).val(deptInfoArray[10]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}
/*
功能：选择某员工 客户端控件
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门名称的输入框ID
    deptId：部门ID的输入框ID
    userLevel：员工职位级别
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserInfoClient(userName, userId, deptName, deptId, userLevel)
{
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID=all"+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
    if( userName != '' && userIdVal != '')
    {
        $("#"+userName).val("["+ userIdVal +"]"+ str2[1]);
        $("#"+userId).val(userIdVal);
    }
    
    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#"+deptId).val(deptInfoArray[1]);
                $("#"+deptName).val("["+deptInfoArray[1]+"]"+deptInfoArray[2]);
                $("#"+userLevel).val(deptInfoArray[3]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}
/*
功能：选择某员工 客户端控件
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门级部门名称的输入框ID
    deptId：部门ID的输入框ID
    upleaderid：上级领导ID
    upleadername：上级领导名称
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserInfoClient2(userName, userId, deptName, deptId, upleadername, upleaderid)
{
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID=all"+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
    if( userName != '' && userIdVal != '')
    {
        $("#"+userName).val("["+ userIdVal +"]"+ str2[1]);
        $("#"+userId).val(userIdVal);
    }
    
    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal+"&type=Department", function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#"+deptId).val(deptInfoArray[8]);
                $("#"+deptName).val("["+deptInfoArray[8]+"]"+deptInfoArray[9]);
                $("#"+upleadername).val("["+deptInfoArray[14]+"]"+deptInfoArray[15]);
                $("#"+upleaderid).val(deptInfoArray[14]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}



/*
功能：选择某员工
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门名称的输入框ID
    deptId：部门ID的输入框ID
    userLevel：员工职位级别
    isSheJiYuan：是否设计院员工1是 0否
    isProductDept：是否生产部门1是 0否
    isSheZongDept：是否设总审批部门1是 0否
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserAndLevel2(userName, userId, deptName, deptId, userLevel, isSheJiYuan, isProductDept, isSheZongDept, RootOrgID){
    var procSetID=$("#hidenProcSetId").val();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,500,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
    if( userId != '' && userIdVal != '')
    {
        $("#processForm_"+userName).val("["+ userIdVal +"]"+ str2[1]);
        $("#processForm_"+userId).val(userIdVal);
    }

    if ((deptName != "" || deptId !="") && userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal+"&type=Department", function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#processForm_"+deptId).val(deptInfoArray[8]);
                $("#processForm_"+deptName).val("["+deptInfoArray[8]+"]"+deptInfoArray[9]);
                $("#processForm_"+userLevel).val(deptInfoArray[3]);

            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}


/*
功能：选择某员工
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门名称的输入框ID
    deptId：部门ID的输入框ID
    userLevel：员工职位级别
    userEducate：学历
    userMajor：专业
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectUserInfo(userName, userId, deptName, deptId, userLevel,userEducate,userMajor){
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID=all"+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}    

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    $("#"+userName).val(str2[1]) ;
    var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
    if( userId != '' && userIdVal != '')
    $("#"+userId).val(userIdVal);

    if (userIdVal!=""){
        jQuery.get("/Workflow/Common/GetUserDept.ashx?userid="+userIdVal, function(deptInfo){
            if(deptInfo && deptInfo !=""){
                var deptInfoArray = deptInfo.split(",");
                $("#"+deptId).val(deptInfoArray[1]);
                $("#"+deptName).val(deptInfoArray[2]);
                $("#"+userLevel).val(deptInfoArray[3]);
                $("#"+userEducate).val(deptInfoArray[4]);
                $("#"+userMajor).val(deptInfoArray[5]);
            }
            else{
                alert( "员工部门在本系统中没有找到，请找系统管理员确认员工数据是否正确");
            }
        });
    }
    return true;
}
/*
功能：选择某员工 客户端控件
作者：梅欢
输入参数：
    userName：员工姓名输入框的ID
    userId：员工账号的输入框ID
    deptName：部门名称的输入框ID
    deptId：部门ID的输入框ID
    userLevel：员工职位级别
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function SelectMoreUser(userName, userId, RootOrgID)
{
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=false"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +         //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    $("#"+userName).val(str1[0]);

    var strUserIds = "";
    var str2 = str1[0].split(",");
    for(var i = 0; i < str2.length; i ++)
    {
        var str3 = str2[i].substring(1,str2[i].indexOf("]"))
        strUserIds += str3 + ",";
    }
    strUserIds = strUserIds.substring(0,strUserIds.length - 1);
    
    $("#"+userId).val(strUserIds);
    if(gid(userName).value.split(",").length >= 3)
        gid(userName).setAttribute("title",str1[0]);
    else
        gid(userName).setAttribute("title","");
    return true;
}
/*
功能：选择某员工
作者：黄平显
输入参数：
    userNameID：员工姓名输入框的ID
    userAccountID：员工账号的输入框ID
    showAccount:是否显示账号
创建日期：2009-2-26
说明：需要引用JQuery
*/
function SelectUserClient(userNameID, userAccountID,showAccount,RootID){
    var Root="all";
    if(RootID!=undefined)
    {
        Root=RootID;
    }
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ Root+              //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,520,choosedObj);
    if( strRet == null ) {return;}

    if(strRet == "*@*@*@*@*@*" || strRet==undefined)
    {
        $("#" + userNameID).val("");
        $("#" + userAccountID).val("");
    }
    else
    {
        var str1 = strRet.split("*");
        var str2 = str1[0].split("]");
        var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
        if ( showAccount == null || showAccount == false )
        {
            $("#" + userNameID).val(str2[1]) ;
        }
        else
        {
            $("#" + userNameID).val("[" + userIdVal + "]" + str2[1]) ;
        }
        $("#" + userAccountID).val(userIdVal);
    }

    return true;
}

/*
功能：选择某员工后带出该员工的处长及部门经理（招标流程可共用）
作者：黄喆(pprihz)
创建日期：2009-10-09
输入参数：
    userNameID：    员工姓名输入框的ID
    userAccountID： 员工账号的输入框ID
    showAccount:    是否显示账号
    chuZNameID:     该员工处长姓名输入框ID
    chuZAccountID:  该员工处长帐号隐藏域
    deptManagerNameID:  该员工部门经理姓名输入框ID
    deptManagerAccountID:   该员工部门经理帐号隐藏域
    KeZNameID:     该员工科长姓名输入框ID
    KeZAccountID:  该员工科长帐号隐藏域
修改：1.新增资格审查页面需要取到科长，新增科长控件ID及Name的参数  --[pprihz]黄喆 20091109 
      2.新增存放已选择的人员，清空后对应的领导全部清空
    （需要在页面放置hiden保存已选择的人员,id命名规则约定为userAccountID+"hdDestBeforeSelected"）   --[pprihz]黄喆 20091223
说明：需要引用JQuery
*/
function SelectUserLeader(userNameID, userAccountID,showAccount,chuZNameID,chuZAccountID,deptManagerNameID,deptManagerAccountID,keZNameID,keZAccountID,corManagerNo,corManagerName,RootID){
    var procSetID=$("#hidenProcSetId").val();
    var Root="all";
    if(RootID!=undefined)
    {
        Root=RootID;
    }
    var choosedObj=new Object();
    choosedObj.choosedValue="*@*@*@*@*@*";
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    if($("#"+userAccountID+"hdDestBeforeSelected").length>0) {
        var strBeforeSelected = $("#"+userAccountID+"hdDestBeforeSelected").val();
        if(strBeforeSelected !="") {
        choosedObj.choosedValue = strBeforeSelected;
       } 
    }
    
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+Root+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,520,choosedObj);
    if( strRet == null ) {return;}

    if(strRet == "*@*@*@*@*@*" || strRet==undefined)
    {
        $("#" + userNameID).val("");
        $("#" + userAccountID).val("");
        $("#"+userAccountID+"hdDestBeforeSelected").val("");    
        //清空先前带出的领导信息
        $("#" + chuZAccountID).val("");
        $("#" + chuZNameID).val("");
        $("#" + deptManagerAccountID).val("");
        $("#" + deptManagerNameID).val("");
        $("#" + keZAccountID).val("");
        $("#" + keZNameID).val("");
    }
    
    else
    {
        var str1 = strRet.split("*");
        var str2 = str1[0].split("]");
        var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
        if ( showAccount == null || showAccount == false )
        {
            $("#" + userNameID).val(str2[1]) ;
        }
        else
        {
            $("#" + userNameID).val("[" + userIdVal + "]" + str2[1]);
        }
        $("#" + userAccountID).val(userIdVal);
        $("#"+userAccountID+"hdDestBeforeSelected").val(strRet);
        
         var str = "";
         if(userIdVal){
            jQuery.get("/Workflow/Common/GetLeader.ashx?userid="+userIdVal, function(userinfo){
            if(userinfo && userinfo !=""){
                str=eval(userinfo);
                if(str[0].StaffNO !="")
                {
                    $("#" + chuZAccountID).val(str[0].StaffNO);
                    $("#" + chuZNameID).val("["+str[0].StaffNO+"]"+str[0].StaffName);
                }
                else
                {
                    $("#" + chuZAccountID).val("");
                    $("#" + chuZNameID).val("");
                }
                if(str[1].StaffNO !="")
                {
                    $("#" + deptManagerAccountID).val(str[1].StaffNO);
                    $("#" + deptManagerNameID).val("["+str[1].StaffNO+"]"+str[1].StaffName);
                }
                else
                {
                    $("#" + deptManagerAccountID).val("");
                    $("#" + deptManagerNameID).val("");
                }
                if(typeof(keZAccountID)!="undefined" && typeof(keZNameID)!="undefined")
                {
                    if(str[2].StaffNO !="")
                    {
                        $("#" + keZAccountID).val(str[2].StaffNO);
                        $("#" + keZNameID).val("["+str[2].StaffNO+"]"+str[2].StaffName);
                    }
                    else
                    {
                        $("#" + keZAccountID).val("");
                        $("#" + keZNameID).val("");
                    }
                }
                if(str[3].StaffNO !="")
                {
                    if(typeof(corManagerNo)!="undefined" && typeof(corManagerName)!="undefined")
                    {
                        $("#" + corManagerNo).val(str[3].StaffNO);
                        $("#" + corManagerName).val("["+str[3].StaffNO+"]"+str[3].StaffName);
                    }
                }
            }
            else{
                alert("当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确。");
            }
        });
      }
    }
    return true;
}


/*
功能：选择某员工
作者：兰德贵
输入参数：
    userNameID：员工姓名输入框的ID
    userAccountID：员工账号的输入框ID
    deptID传入参数:部门编号
创建日期：2009-3-31
说明：需要引用JQuery
*/
function selUserInfo(userName,userAccount,deptID)
{
    $("#" + userName).val("");
    $("#" + userAccount).val("");
    deptID=deptID==""?"all":deptID;

    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne=true"+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+deptID+               //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}

    if(strRet == "*@*@*@*@*@*" || strRet==undefined)
    {
        $("#" + userName).val("");
        $("#" + userAccount).val("");
    }
    else
    {
        var str1 = strRet.split("*");
        var str2 = str1[0].split("]");
        $("#" + userName).val(str1[0]) ;
        var userIdVal=str1[0].substring(1, str1[0].lastIndexOf(']'));
        if( userAccount != '' && userIdVal != '')
        $("#" + userAccount).val(userIdVal);
    }
    return true;
}
/*
/*
功能：带选项的选择项目信息
作者：兰德贵
输入参数：
    txtproCode：显示项目编号的输入框ID?
    txtproName：显示项目名称的输入框ID可空""

创建日期：2009-4-1
*/
function GetProjectInfoList(txtproCode,txtproName)
{
    var url="/Workflow/Common/ProjectInfoSel.aspx"    
    var strRet = OpenDialog(url,750,550);
    if( strRet == null ) {return;}
    var str = strRet.split("!#");
    $("#"+txtproCode).val(str[0]);
    if(txtproName!="")
    {
        $("#"+txtproName).val(str[1]);
    }
}
/*
功能：带选项的选择“项目编WBS或内部订单号
作者：朱晓华
输入参数：
    txtWBS：显示项目编号的输入框ID?
    txtProjectName：显示项目名称的输入框ID?
    options:
        prefix：填充控件的前缀，缺省：#processForm_
        txtProjectLeader：显示项目负责人姓名的输入框ID，缺省undefined
        hdfProjectLeader：保存项目负责人员工编号的控件ID，缺省undefined
创建日期：2009-3-10
*/
function GetProjectOrOrder(txtWBS,txtProjectName,options){
    options=options||{};
    if (!options.prefix) options.prefix="#processForm_";
    var url="/Workflow/Common/ProjectSel.aspx?project=true&Order=true";

    var strRet = OpenDialog(url,700,550,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("!#");
    $(options.prefix + txtWBS).val(str1[1]);
    $(options.prefix + txtProjectName).val(str1[2]);
    if(str1[3] && options.txtProjectLeader){
        jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
            if(userinfo && userinfo !=""){
                var userinfos = userinfo.split(",");
                $(options.prefix + options.hdfProjectLeader).val(userinfos[0]);
                $(options.prefix + options.txtProjectLeader).val(userinfos[1]);
            }
            else{
                alert("当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确。");
            }
        });
    }
    if(options.IsWbsOrOrder){$(options.prefix + options.IsWbsOrOrder).val(str1[0]);}
    return str1[0];
}

/*
功能：选择“项目编号(WBS)或内部订单号”，并根据项目填充：项目名称、项目负责人、项目负责人ID。
作者：朱晓华
输入参数：
    txtWBS：显示项目编号的输入框ID，
    txtProjectName：显示项目名称的输入框ID，
    txtProjectLeader：显示项目负责人姓名的输入框ID，
    hdfProjectLeader：保存项目负责人员工编号的控件ID
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function selProject(txtWBS,txtProjectName,txtProjectLeader,hdfProjectLeader,options){
    options=options||{};
    var url="/Workflow/Common/ProjectSel.aspx?project=true&Order=true";
    if (options.UserId){url=url+"&UserId="+options.UserId;}

    var strRet = OpenDialog(url,700,550);
    if( strRet == null ) {return;}
  
    var str1 = strRet.split("!#");
    $("#processForm_"+txtWBS).val(str1[1]);
    $("#processForm_"+txtProjectName).val(str1[2]);
    if(str1[3]){
        jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
            if(userinfo && userinfo !=""){
                var userinfos = userinfo.split(",");
 
                $("#processForm_"+hdfProjectLeader).val(userinfos[0]);
                $("#processForm_"+txtProjectLeader).val(userinfos[1]);
            }
            else{
                alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
            }
        });
    }
    return str1[0];
}
/*
功能：选择“项目编号(WBS)或内部订单号”
作者：王睿
输入参数：
project = true;order = false;
    txtWBS：显示项目编号的输入框ID，
    txtProjectName：显示项目名称的输入框ID，
    txtProjectLeader：显示项目负责人姓名的输入框ID，
    hdfProjectLeader：保存项目负责人员工编号的控件ID
project = false;order = true;
    txtWBS：内部订单编号的输入框ID，
    txtProjectName：内部订单名称的输入框ID
    txtProjectLeader=""
    hdfProjectLeader=""
par：公司ID
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function selProjectEx0(txtWBS,txtProjectName,txtProjectLeader,hdfProjectLeader,project,order ,par){
    var url="/Workflow/Common/ProjectSel.aspx?project=" + project + "&Order=" + order + "&Par=" + par ;
    var strRet = OpenDialog(url);
    if( strRet == null ) 
    {
        $("#processForm_"+txtWBS).val("");
        $("#processForm_"+txtProjectName).val("");
        return;
    }

    var str1 = strRet.split("!#");
    $("#processForm_"+txtWBS).val(str1[1]);
    $("#processForm_"+txtProjectName).val(str1[2]);
    if ( txtProjectLeader != "" || hdfProjectLeader != "" ){
        if(str1[3] && Trim(str1[3])!= ""){
            jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
                if(userinfo && userinfo !=""){
                    var userinfos = userinfo.split(",");
                    $("#processForm_"+hdfProjectLeader).val(userinfos[0]);
                    $("#processForm_"+txtProjectLeader).val(userinfos[1]);
                    }
                    else{
                        alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
                    }
            });
        }
    }
    return str1[0];
}


/*
功能：选择“项目编号(WBS)或内部订单号”
作者：陆正
输入参数：
project = true;order = false;
    txtWBS：显示项目编号的输入框ID，
    txtProjectName：显示项目名称的输入框ID，
    txtProjectLeader：显示项目负责人姓名的输入框ID，
    hdfProjectLeader：保存项目负责人员工编号的控件ID
project = false;order = true;
    txtWBS：内部订单编号的输入框ID，
    txtProjectName：内部订单名称的输入框ID
    txtProjectLeader=""
    hdfProjectLeader=""
par：公司ID
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function selProjectEx1(txtWBS,txtProjectName,options){
    var url="/Workflow/Common/WBSElementSel.aspx?1=1";
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.project){
        url  = url +"&project="+options.project;
    }
    if (options.Order){
        url  = url +"&Order="+options.Order;
    }
    if (options.Par){
        url  = url +"&Par="+options.Par;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,1200,500);
    if( strRet == null ) {return;}

    var str1 = strRet.split("!#");
    $(options.prefix+txtWBS).val(str1[1]);
    $(options.prefix+txtProjectName).val(str1[2]);
    $("#txtWBS").val(str1[1]);
    $("#txtProjectName").val(str1[2]);
    if ( options.txtProjectLeader || options.hdfProjectLeader){
        if(str1[3] && Trim(str1[3])!= ""){
            if (str1[4] && Trim(str1[4])!= ""){
                $(options.prefix+options.hdfProjectLeader).val(str1[3]);
                $(options.prefix+options.txtProjectLeader).val("["+str1[3]+"]"+str1[4]);
            }
            else jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
                if(userinfo && userinfo !=""){
                    var userinfos = userinfo.split(",");
                    $(options.prefix+options.hdfProjectLeader).val(userinfos[0]);
                    $(options.prefix+options.txtProjectLeader).val("["+userinfos[0]+"]"+userinfos[1]);
                    }
                    else{
                        alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
                        $(options.prefix+options.hdfProjectLeader).val("");
                        $(options.prefix+options.txtProjectLeader).val("");
                    }
            });
        }
        else
        {
            $(options.prefix+options.hdfProjectLeader).val("");
            $(options.prefix+options.txtProjectLeader).val("");
        }
    }
    //增加项目金额  --add by pcitsyk
    if (options.hdfProjectMoney){ 
        $(options.prefix+options.hdfProjectMoney).val(str1[5].replace(/,/g,""));
    }
    return str1[0];
}
/*
功能：选择“项目编号(WBS)或内部订单号”
作者：陆正
输入参数：
project = true;order = false;
    txtWBS：显示项目编号的输入框ID，
    txtProjectName：显示项目名称的输入框ID，
    txtProjectLeader：显示项目负责人姓名的输入框ID，
    hdfProjectLeader：保存项目负责人员工编号的控件ID
project = false;order = true;

par：公司ID
pspid 项目编号获取该项目下的子项目
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function selProjectEx2(txtWBS,txtProjectName,project,order ,par,pspid){
    var url="/Workflow/Common/WBSElementSel.aspx?project=" + project + "&Order=" + order + "&Par=" + par+"&pspid="+pspid;
    var strRet = OpenDialog(url);
    if( strRet == null ) {return;}

    var str1 = strRet.split("!#");
    $("#processForm_"+txtWBS).val(str1[1]);
    $("#processForm_"+txtProjectName).val(str1[2]);
    return str1[0];
}

/*
功能：选择“项目编号(WBS)或内部订单号”
作者：陆正
输入参数：
project = true;order = false;
    txtWBS：显示项目编号的输入框ID，
    txtProjectName：显示项目名称的输入框ID，
    txtProjectLeader：显示项目负责人姓名的输入框ID，
    hdfProjectLeader：保存项目负责人员工编号的控件ID
project = false;order = true;

par：公司ID
pspid 项目编号获取该项目下的子项目
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function selCNPECWBS(txtWBS,txtProjectName,options){
    var url="/Workflow/Common/WBSSelelct.aspx?1=1";
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.project){
        url  = url +"&project="+options.project;
    }
    if (options.Order){
        url  = url +"&Order="+options.Order;
    }
    if (options.Par){
        url  = url +"&Par="+options.Par;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,700);
    if( strRet == null||strRet=="!#!#!#" ) 
    {
     $(options.prefix+txtWBS).val("");
     $(options.prefix+txtProjectName).val("");
    return;}

    var str1 = strRet.split("!#");
    $(options.prefix+txtWBS).val(str1[2]);
    $(options.prefix+txtProjectName).val(str1[1]);
    if ( options.txtProjectLeader || options.hdfProjectLeader){
        if(str1[3] && Trim(str1[3])!= ""){
            if (str1[4] && Trim(str1[4])!= ""){
                $(options.prefix+options.hdfProjectLeader).val(str1[3]);
                $(options.prefix+options.txtProjectLeader).val("["+str1[3]+"]"+str1[4]);
            }
            else jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
                if(userinfo && userinfo !=""){
                    var userinfos = userinfo.split(",");
                    $(options.prefix+options.hdfProjectLeader).val(userinfos[0]);
                    $(options.prefix+options.txtProjectLeader).val("["+userinfos[0]+"]"+userinfos[1]);
                    }
                    else{
                        alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
                        $(options.prefix+options.hdfProjectLeader).val("");
                        $(options.prefix+options.txtProjectLeader).val("");
                    }
            });
        }
    }
    return str1[0];
}


/*
功能：选择“项目编号(WBS)或内部订单号”，并根据项目填充：项目名称、项目负责人、项目负责人ID。
作者：朱晓华
输入参数：
    txtWBS：显示项目编号的输入框ID，
    txtProjectName：显示项目名称的输入框ID，
    txtProjectLeader：显示项目负责人姓名的输入框ID，
    hdfProjectLeader：保存项目负责人员工编号的控件ID
创建日期：2009-2-2
说明：需要引用JQuery，只能在表单框架中引用。
*/
function selCurrency(txtCurrencyShow,hdfCurrencyValue,prefix){
    var url="/Workflow/Common/CurrencyTypeSel.aspx?rnd=" + Math.random();
    var strRet = OpenDialogScroll(url);
    if( strRet == null ) {return;}

    var str1 = strRet.split("!#");
    //----Append by Liangning------------
    //增添了对传入参数直接为文本对象的情况的赋值。
    if(typeof(txtCurrencyShow)=="object" && typeof(hdfCurrencyValue)=="object"){
        $(txtCurrencyShow).val(Trim(str1[0]));
        $(hdfCurrencyValue).val(Trim(str1[1]));
        return ;
    }
    //-----------------------------------
    if(typeof(prefix)=="undefined")
    {
        $("#processForm_"+txtCurrencyShow).val(Trim(str1[0]));
        $("#processForm_"+hdfCurrencyValue).val(Trim(str1[1]));
    }
    else
    {
        $(prefix+txtCurrencyShow).val(Trim(str1[0]));
        $(prefix+hdfCurrencyValue).val(Trim(str1[1]));
    }
}
function selCountry(txtCountryCode,txtCountryName)
{
    var url="/Workflow/Common/CountrySel.aspx";
    try{
        var strRet = OpenDialog(url);
        if( strRet == null ) {return;}

        var str1 = strRet.split("!#");
        $("#processForm_"+txtCountryCode).val(str1[0]);
        $("#processForm_"+txtCountryName).val(str1[1]);
    }
    catch(ex)
    {}
}
/*
    功能:选择记账码
    作者:兰德贵
    参数:
        txtCode 记账码控件ID
        txtName 记账名称控件ID
    日期:2009-4-14
*/
function selRecordAccountCode(txtCode,txtName)
{
    var url="/Workflow/Common/RecordAccountCodeSel.aspx";
    try
    {
       var strRet = OpenDialog(url);
       if(strRet==null){return ;}
       var str1 = strRet.split("!#");
       $("#"+txtCode).val(str1[0]);
       $("#"+txtName).val(str1[1]);
    }
    catch(ex)
    {}
}
/*
    功能:选择工程公司供应商信息
    作者:兰德贵
    参数:
        txtID 代码控件ID
        txtName 名称控件ID
        companyID 参数过滤公司代码
    日期:2010-1-27
*/
function selCNPECSupplier(txtID, txtName, companyID, user)
{
    var url = "/Workflow/Common/CNPECSupplierSel.aspx";
    if ( user != undefined) {
        url += "?fackoverride=" + user;
    }
    var url2 = encodeURI(url,true);
    var strRet = OpenDialog(url,810,650);
    if(strRet==null){return ;}
    return strRet;
}

/*
功能:选择宁德核电供应商
    作者:吕刚-暂用工程公司做测试
    参数:
        txtID 代码控件ID
        txtName 名称控件ID
        companyID 参数过滤公司代码
    日期:2010-1-27

*/
function selNDNPSupplier(txtID,txtName,companyID,Prefix)
{
    var url="/Workflow/Common/CNPECSupplierSel.aspx";
    var GongSiID="2005";
    if(companyID!="")
    {
        GongSiID=companyID;
    }
    url=url+"?GongSiID="+GongSiID;
    var url2 = encodeURI(url,true);
    var strRet = OpenDialog(url,810,650);
    if(strRet==null){return ;}
    var prefix="#processForm_";
    if(Prefix!=undefined)
    {
        prefix=Prefix;
    }
    var array=strRet.split(',');
    $(prefix+txtID).val(array[0]);
    $(prefix+txtName).val(array[1]);
}
/*
    功能:选择工程公司项目信息
    作者:兰德贵
    参数:
        txtID 代码控件ID
        txtName 名称控件ID
        companyID 参数过滤公司代码
    日期:2010-1-27
*/
function selCNPECProject(txtID,txtName,par)
{
    var url="/Workflow/Common/ProjectSelCNPEC.aspx?rnd=" + Math.random() + "&"+par;
    var url2 = encodeURI(url,true);
    var strRet = OpenDialog(url,810,650);
    if(strRet==null){return ;}
    return strRet;
}
/*
    功能:选择工程公司会计科目
    作者:兰德贵
    参数:
        txtID 代码控件ID
        txtName 名称控件ID
        companyID 参数过滤公司代码
    日期:2010-1-27
*/
function selCNPECAccount(txtID,txtName,par)
{
    var url="/Workflow/Common/CNPECAccountSubjectSel.aspx?rnd=" + Math.random() + "&GongsiId="+par;
    var url2 = encodeURI(url,true);
    var strRet = OpenDialog(url,810,650);
    if(strRet==null){return ;}
    return strRet;
}
/*
    功能:选择计量单位
    作者:兰德贵
    参数:
        txtCode 计量单位编码控件ID
        txtName 计量单位名称控件ID
    日期:2009-4-17
*/
function SelComputationUnit(txtCode,txtName)
{
    var url="/Workflow/Common/ComputationUnitSel.aspx";
    try
    {
       var strRet = OpenDialog(url);
       if(strRet==undefined || strRet==null){return ;}
       var str1 = strRet.split("!#");
       if(typeof(txtCode)=="string"){
           $("#"+txtCode).val(str1[0]);
           $("#"+txtName).val(str1[1]);
       } else if(typeof(txtCode)=="object"){
           $(txtCode).val(str1[0]);
           $(txtName).val(str1[1]);
       }
    }
    catch(ex)
    {}
}
/*
    功能:选择进口口岸
    作者:兰德贵
    参数:
        txtCode 进口口岸码控件ID
        txtName 进口口岸名称控件ID
    日期:2009-4-17
*/
function SelInletPort(txtCode,txtName)
{
    var url="/Workflow/Common/InletPort.aspx";
    try
    {
       var strRet = OpenDialog(url);
       if(strRet==null){return ;}
       var str1 = strRet.split("!#");
       $("#"+txtCode).val(str1[0]);
       $("#"+txtName).val(str1[1]);
    }
    catch(ex)
    {}
}
/*
    功能:选择成交方式(贸易术语)
    作者:兰德贵
    参数:
        txtCode 成交方式代码控件ID
        txtName 成交方式名称控件ID
    日期:2009-6-5 10:39
*/
function selTradeLanguage(txtCode,txtName)
{
    var url="/Workflow/Common/TradeLanguageSel.aspx";
     try
    {
       var strRet = OpenDialog(url);
       if(strRet==null){return ;}
       var str1 = strRet.split(",");
       $("#"+txtCode).val(str1[0]);
       $("#"+txtName).val(str1[1]);
    }
    catch(ex)
    {}
}
/*
    功能:选择币制
    作者:兰德贵
    参数:
        txtCode 币制代码控件ID
        txtName 币制名称控件ID
    日期:2009-6-5 10:41
*/
function selCNPECCurrencry(txtCode,txtName)
{
    var url="/Workflow/Common/CNPECCurrencrySel.aspx";
     try
    {
       var strRet = OpenDialog(url);
       if(strRet==null){return ;}
       var str1 = strRet.split(",");
       if(typeof(txtCode)=="string"){
           $("#"+txtCode).val(str1[0]);
           $("#"+txtName).val(str1[1]);
       }else if(typeof(txtCode)=="object"){//Liangning添加，传对象的引用。
           $(txtCode).val(str1[0]);
           $(txtName).val(str1[1]);
       }
    }
    catch(ex)
    {}
}

/*
功能：选择付款银行
输入参数：
    txtHKONT：付款银行对应的会计科目编码控件ID
    txtTEXT1：付款银行描述控件ID
作者：王睿
修改：朱晓华 2009-3-9 增加了withoutPrefix参数
*/
function selPayBank( txtHKONT , txtTEXT1,prefix ){
    var url="/Workflow/Common/PayBankSel.aspx?Group=CNPRI";
    var strRet = OpenDialog(url);
    if( strRet == null ){return ;}

    var str = strRet.split(",");
    var prfx=typeof(prefix)=="undefined"?"#processForm_":prefix;
    $(prfx+ txtHKONT).val(str[0]) ;
    $(prfx+ txtTEXT1).val(str[1] );
}
//Par逗号隔开,部门id参数
function selPayBankEx( txtHKONT , txtTEXT1 , Par){
    var url="/Workflow/Common/PayBankSel.aspx?Group=CNPRI" + "&Par=" + Par;
    var strRet = OpenDialog(url);
    if( strRet == null ){return;}

    var str = strRet.split(",");
    $("#processForm_" + txtHKONT).val(str[0]) ;
    $("#processForm_" + txtTEXT1).val(str[1] );
}
 /*
 功能：选择付款原因
 输入参数：
    RSTGR：付款原因编码控件ID
    TXT40：付款银行描述控件ID
 作者：王睿
 */
 function selPayReason(txtRSTGR,txtTXT40, options)
 {
    var url="/Workflow/Common/PaymentReasonSel.aspx?Group=CNPRI";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.Selectable){
        url = url + "&Selectable=" + options.Selectable;
    }
    if (!options.prefix){options.prefix="#processForm_";}
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split(",");
    $(options.prefix + txtRSTGR).val(str[0] );
    $(options.prefix + txtTXT40).val("["+str[0]+"]"+str[1] );
 }
 /*
 功能：选择付款原因直接使用客户端标签
 输入参数：
    RSTGR：付款原因编码控件ID
    TXT40：付款银行描述控件ID
 作者：兰德贵
 */
 function selPayReasonExce(txtRSTGR,txtTXT40)
 {
    var url="/Workflow/Common/PaymentReasonSel.aspx?Group=CNPRI";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}

    var str = strRet.split(",");
    $("#"+txtRSTGR).val(str[0] );
    $("#"+txtTXT40).val( str[1] );
 }
 /*
    功能:选择立项编号
    输入参数:
    txtCreateProjectNo:立项编号的控件ID,
    txtCreateProjectName 立荐名称的控件ID,
    txtAppName 早请人的的控件ID,可为空
    txtBudgetMoney 项目的估算金额控件ID可空'
     txtMoney 项目实际金额的控件ID可为空
     作者:兰德贵
 */
 function selCreateProjectNo(txtCreateProjectNo,txtCreateProjectName,txtAppName,txtBudgetMoney,txtMoney)
 {
    var url="/Workflow/Common/CreateProjectNOSel.aspx?rnd=" + Math.random();;
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str1=strRet.split(",");
    $("#processForm_"+txtCreateProjectNo).val(str1[0]);
    if(typeof(txtCreateProjectName) != "undefined"){
        $("#processForm_"+txtCreateProjectName).val(str1[1]);
    }
    if(typeof(txtAppName)!= "undefined")
    {
        $("#processForm_"+txtAppName).val(str1[2]);
    }
    if(typeof(txtBudgetMoney)!="undefined"){$("#processForm_"+txtBudgetMoney).val(str1[4]);}
    if(typeof(txtMoney) !="undefined"){$("#processForm_"+txtMoney).val(str1[5]);}
}

 /*
    功能:选择多个立项编号(公开招标应用)
    输入参数:
        txtCreateProjectNo:立项编号的控件ID,
        txtMoney: 项目实际金额的控件ID(用于测试时显示)
        hnMoney : 项目实际金额的控件ID(用于计算)
    作者:黄平显
    日期:2009-06-09 
 */
function selCreateProjectNos(txtCreateProjectNo,hnMoney,txtMoney)
{
    var url="/Workflow/Common/CreateProjectNosSel.aspx?rnd=" + Math.random();
    var selectedPros = $("#processForm_"+txtCreateProjectNo).val();
    if ( selectedPros != "" )
    {
        url += "&SelectedProjectNos=" + selectedPros;
    }
    var pros = OpenDialog(url);
    if(pros == null){return;}
    var proNos = "";
    var fMoney = 0;
    
    for ( var i = 0 ; i < pros.length ; i ++ )
    {
        if ( i != 0 )
        {
            proNos += ",";
        }
        proNos += pros[i].pno;
        var floFactMoney = 0;
        if(pros[i].factMoney) {
        floFactMoney = parseFloat(pros[i].factMoney)
        fMoney += floFactMoney;
        }
    }
    $("#processForm_"+txtCreateProjectNo).val(proNos);
    $("#processForm_"+hnMoney).val(fMoney);
    if(typeof(txtMoney)!="undefined" && txtMoney!="")   
    $("#processForm_"+txtMoney).val(fMoney);
}

 function selPayReasonEx(txtRSTGR,txtTXT40 ,Par)
 {
    var url="/Workflow/Common/PaymentReasonSel.aspx?Group=CNPRI"+ "&Par=" + Par;
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split(",");
    $("#processForm_" + txtRSTGR).val(str[0] );
    $("#processForm_" + txtTXT40).val( str[1] );
 }

 /*
  功能：选择利润中心
  输入参数：
    txtKOSTL：显示成本利润代码的输入框ID
    txtRSTGR：显示成本利润名称的输入框ID
 作者：向添滨
 */
function selProfitCenter( txtCenterName , txtCenterId, options){
    var url="/Workflow/Common/ProfitCenterSel.aspx?1=1";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if(!options.profit) options.profit="#processForm_";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split(",");
    $(options.profit + txtCenterId).val(str[0]);
    if( txtCenterName!= "")
   
    $(options.profit + txtCenterName).val("["+str[0]+"]"+str[1]);
}

/*
  功能：选择成本中心
  输入参数：
    txtKOSTL：显示成本中心代码的输入框ID
    txtRSTGR：显示成本中心名称的输入框ID
 作者：王睿
 修改：黄喆 2010-1-8 名称显示加入了成本中心代码
 */
function selCostCenter(txtKOSTL, txtRSTGR, options){
    
    var url="/Workflow/Common/CostCenterSel.aspx?1=1";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
        }
    var strRet = OpenDialog(url,800,500);
    if(strRet == null||strRet=="!#!#!#"){
        $(options.prefix + txtKOSTL).val("");
        $(options.prefix + txtRSTGR).val("");
        return;}
    var str = strRet.split("!#");
    if( txtKOSTL!= "")
        $(options.prefix + txtKOSTL).val(str[0]);
    if( txtRSTGR!= "")
        $(options.prefix + txtRSTGR).val("["+str[0]+"]"+str[1]);
}
  //  txtKOSTL：显示成本中心代码的输入框ID
  //  txtRSTGR：显示成本中心名称的输入框ID
function selCostCenterFullName(txtKOSTL, txtRSTGR, options){
    var url="/Workflow/Common/CostCenterSel.aspx?Group=CNPRI";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    if( txtKOSTL!= "")
        $(options.prefix + txtKOSTL).val(str[0]);
    if( txtRSTGR!= "")
        $(options.prefix + txtRSTGR).val("["+str[0]+"]"+str[1]);
}

  //  txtKOSTL：显示成本中心代码的输入框ID
  //  txtRSTGR：显示成本中心名称的输入框ID
function selCostCenterFullNameEx(txtKOSTL, txtRSTGR, options){
    var url="/Workflow/CGNWP/Common/CostCenterSel.aspx?Group=CNPRI";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.GroupEx){
        url = url+"&GroupEx="+options.GroupEx;
    }
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    if( txtKOSTL!= "")
        $(options.prefix + txtKOSTL).val(str[0]);
    if( txtRSTGR!= "")
        $(options.prefix + txtRSTGR).val("["+str[0]+"]"+str[1]);
}



function selCostCenterEx( txtKOSTL , txtRSTGR ,Par){
    var url="/Workflow/Common/CostCenterSel.aspx?Group=CNPRI" + "&Par=" + Par;
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");
    if( txtKOSTL!= "")
        $("#processForm_" + txtKOSTL).val(str[0]);
    if( txtRSTGR!= "")
        $("#processForm_" + txtRSTGR).val(str[1]);
}

/*
  功能：选择成本中心
  输入参数：
    txtRSTGR：显示成本中心名称的输入框ID（成本中心代码的值　　+　成本中心名称的值）

 作者：王鹏志
 */
function selCostCenterX( txtKOSTL , txtRSTGR, options){
    var url="/Workflow/Common/CostCenterSel.aspx?Group=CNPRI";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");

    str[0] = "[" + str[0] + "]";
    $("#processForm_" + txtRSTGR).val(str[0] + str[1]);
}

/*
  功能：选择风电公司风电场
  输入参数：
   （风电场名称+风电场代码+分公司名称+分公司代码）

 作者：王鹏志
 */
function SelectMaterialSpace( txtMaterialSpace,hdMaterialSpaceID,txtSubCompany,hdSubCompany,options){
    var url="/Workflow/Common/SelectMaterial.aspx?Group=CGNWP";
    options=options||{};
     if (options.GongsiName) {
        url = url+"&GongsiName="+options.GongsiName;
    }
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");

    str[0] = "[" + str[0] + "]";
    $("#processForm_" + txtMaterialSpace).val(str[0]+str[1]);
    $("#processForm_" + hdMaterialSpaceID).val(str[0]);
    $("#processForm_" + txtSubCompany).val(str[3]);
    $("#processForm_" + hdSubCompany).val(str[2]);
    
}
function selCostCenterEx( txtKOSTL , txtRSTGR ,Par){
    var url="/Workflow/Common/CostCenterSel.aspx?Group=CNPRI" + "&Par=" + Par;
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");
    $("#processForm_" + txtKOSTL).val(str[0]);
    if( txtRSTGR!= "")
    $("#processForm_" + txtRSTGR).val(str[1]);
}
/*
功能：选择公司代码
输入参数：
    BUKRS：显示公司代码的输入框ID
    BUTXT：显示公司名称的输入框ID
作者：王睿
*/
function selCompanyCode( BUKRS , BUTXT ){
    var url="/Workflow/Common/CompanyCodeSel.aspx?Group=CNPRI";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split(",");
    $("#processForm_" + BUKRS).val(str[0]);
    if( BUTXT != "")
    $("#processForm_" + BUTXT).val(str[1]);
}
/*
功能:选择供应商信息
输入参数:
 txtBUKRS,显示公司代码如果没有则为空,
 txtLIFNR,显示供应商代码的输入框ID,
 txtNAME1:显示供应商的名称输入框ID,
作者:兰德贵
*/
function selSupplierInfo(txtBUKRS,txtLIFNR,txtNAME1){
    var url="/Workflow/Common/GatheringUnitSel.aspx";
    var choosedObj = new Object();
        choosedObj.choosedValue="*@*@*@*@*@*";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}

    var str1=strRet.split("@");
    if($("#processForm_"+txtBUKRS).length != 0 ){
       $("#processForm_"+txtBUKRS).val(str1[0]);
    }
    if($("#processForm_"+txtLIFNR).length !=0){
        $("#processForm_"+txtLIFNR).val(str1[1]);
    }
    $("#processForm_"+txtNAME1).val("["+str1[1]+"]"+str1[2]);
}

/*
功能:选择供应商信息
输入参数:
 txtBUKRS,显示公司代码如果没有则为空,
 txtLIFNR,显示供应商代码的输入框ID,
 txtNAME1:显示供应商的名称输入框ID,
作者:陆正
*/
function selSupplierInfo3(txtBUKRS,txtLIFNR,txtNAME1,commpanyID,Where,prefix){
    if(Where==undefined)
    {
        var url="/Workflow/Common/GatheringUnitSel.aspx?CommpanyID=" + commpanyID;
    }
    else
    {
        var url="/Workflow/Common/GatheringUnitSel.aspx?CommpanyID=" + commpanyID+"&para="+Date();
    }
    var choosedObj = new Object();
        choosedObj.choosedValue="*@*@*@*@*@*";
    var strRet = OpenDialog(url,800,500);
    if(strRet == null){return;}
    var str1=strRet.split("@");
    var Pref="#processForm_";
    if(prefix!=undefined) Pref=prefix;
    if($(Pref+txtBUKRS).length != 0 ){
       $(Pref+txtBUKRS).val(str1[0]);
    }
    if($(Pref+txtLIFNR).length !=0){
        $(Pref+txtLIFNR).val(str1[1]);
    }
    if(str1[1] != null && str1[1] != "" && str1[2] != "" && str1[2] != null)
    {
        $(Pref+txtNAME1).val("[" + str1[1] + "]" + str1[2]);
    }
}


/*
功能:选择供应商信息
输入参数:
 txtBUKRS,显示公司代码如果没有则为空,
 txtLIFNR,显示供应商代码的输入框ID,
 txtNAME1:显示供应商的名称输入框ID,
 txtTELF1:显示供应商的电话号码输入框ID
作者:王鹏志
*/
function selSupplierInfo2(txtBUKRS,txtLIFNR,txtNAME1,txtTELF1){
    var url="/Workflow/Common/GatheringUnitSel.aspx";
    var choosedObj = new Object();
        choosedObj.choosedValue="*@*@*@*@*@*";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str1=strRet.split("@");
    if($("#processForm_"+txtBUKRS).length != 0 ){
       $("#processForm_"+txtBUKRS).val(str1[0]);
    }
    if($("#processForm_"+txtLIFNR).length !=0){
        $("#processForm_"+txtLIFNR).val(str1[1]);
    }
    if((str1[2]!='&nbsp;')&&(str1[2].length>0)){
        $("#processForm_"+txtNAME1).val(str1[2]);
    }
    if(str1[3] != undefined)
    {
        if((str1[3]!='&nbsp;')&&(str1[3].length>0)){
            var TELF1 = str1[3].substr(0, TELF1.length - (4)) + "****";//保密信息
            $("#processForm_"+txtTELF1).val(TELF1);
        }
    }
}
/*
功能：选择贸易伙伴信息
输入参数：
　　　txtRCOMP：显示贸易伙伴代码．若没有则有空
　　　txtNAME1：显示贸易伙伴名称
作者：兰德贵
*/
function selTradePard(txtRCOMP,txtNAME1,options)
{
    options = options || {};
    var url="/Workflow/Common/TradePardSel.aspx";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split(",");
    if (!options.prefix) options.prefix="#processForm_";
    if(txtRCOMP !="")
        $(options.prefix + txtRCOMP).val(str[0]);
    if( txtNAME1!= "")
        $(options.prefix + txtNAME1).val(str[1]);
}
/*
功能:选择风电公司立项编号
输入参数:
作者:兰德贵
日期:2009-11-23
*/
function SelCreateProjectNoCGNWP(txtNO,txtName,companyCode)
{
    var url="/Workflow/Common/CGNWPCreateProjectSel.aspx?rnd=" + Math.random();
    var url2="";
    if(companyCode!=null&&companyCode!=undefined&&companyCode!="")
    {
        url2="&CompanyCode="+companyCode;
    }
    url=url+url2;
    var strRet = OpenDialog(url);
    if(strRet==null){return;}
    var str=strRet.split(",");
    $("#processForm_"+txtNO).val(str[0]);
    $("#processForm_"+txtName).val(str[0]);
    
}
/*
功能：选择贸易伙伴信息
输入参数：
　　　txtRCOMP：显示贸易伙伴代码．若没有则有空
　　　txtNAME1：显示贸易伙伴名称
作者：兰德贵
*/
function selTradePardEx(txtRCOMP,txtNAME1)
{
    var url="/Workflow/Common/TradePardSel.aspx";
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split(",");
    if(txtRCOMP !="")
     $("#" + txtRCOMP).val(str[0]);
    if( txtNAME1!= "")
    $("#" + txtNAME1).val(str[1]);
}
/*
功能：选择会计科目
输入参数：
　　　txtSAKNR：显示会计科目代码．若没有则有空
　　　txtTXT20：显示会计科目名称
　　　CompanyCode 公司代码
作者：兰德贵
更新日期：2009-6-24 修改以公司代码获取会计科目
*/

function selAccountSubject(txtSAKNR,txtTXT20,CompanyCode)
{
    var url="/Workflow/Common/AccountSubjectSel.aspx?GongsiId="+CompanyCode;
    var strRet = OpenDialog(url);
    if(strRet == null||strRet==undefined){
        $("#"+txtSAKNR).val("");
        $("#"+txtTXT20).val("");
    }
    else
    {
        var str = strRet.split(",");
        $("#"+txtSAKNR).val(str[0]);
        $("#"+txtTXT20).val(str[1]);
    }
}
function selToolInfo(txtCode,txtName,txtSpec)
{
    var url="/Workflow/Common/ToolSel.aspx";
    try{
        var strRet = OpenDialog(url);
        if(strRet == null){return;}
        var str = strRet.split("!#");
        $("#" + txtCode).val(str[0]);
        $("#" + txtName).val(str[1]);
        $("#" + txtSpec).val(str[2]);
    }
    catch(ex)
    {}
}

/*
功能：选择工程公司 员工出差申请单。
作者：马奇文
*/
function selEvections(name,value,type,userid){
    if(typeof(type) == 'undefined' || type == null ) type = "";
    if(typeof(userid) == 'undefined' || userid == null ) userid = "";
    var url="/Workflow/CNPEC/Common/Evections.aspx?rand=" + new Date().toString()+"&type="+type+"&userid="+userid;
    var strRet = OpenDialog(url);
    if( strRet == null ) {return;}
    var arr = strRet.split("@");
    $("#processForm_"+name).val(arr[0]);
    $("#processForm_"+value).val(arr[1]);
    return strRet;
}

/*
功能：选择风电公司 员工出差申请单。
作者：梅欢
*/
function selEvectionsFD(name,value,type,application){
    if(typeof(type) == 'undefined' || type == null ) type = "";
    var url="/Workflow/CGNWP/FICO/TripReimburse/Evections.aspx?rand=" + new Date().toString()+"&type="+type+"&application="+application;
    var strRet = OpenDialog(url);
    if( strRet == null ) {return;}
    var arr = strRet.split("@");
    $("#processForm_"+name).val(arr[0]);
    $("#processForm_"+value).val(arr[1]);
    return strRet;
}


// 功能：选择“城市”。
// 作者：梅欢
// 输入参数：
//    txtCityName：显示城市名称的输入框ID，
//    txtCityCode：显示城市编码的输入框ID，
//    txtCityType：显示城市类型的输入框ID
//    strType：出差类型（0国内，1国外, 3 市内工地）
// 创建日期：2009-4-18
// 说明：需要引用JQuery，只能在表单框架中引用。
function selCity(txtCityName,txtCityCode,txtCityType,strType,isAboad,Staff,isXIN){
    if(strType == "undefined")
    {
        strType = "1";
    }
    var url="/Workflow/Common/SelectCity.aspx?type="+ strType +"&rand=" + new Date().toString()+"&Aboad="+isAboad+"&StaffNo="+  $("#" + Staff).val();
    if (strType == "3") { // 市内工地的
        url = "/Workflow/Common/SelectCity.aspx?type="+ strType +"&rand=" + new Date().toString()+"&Aboad="+isAboad+"&StaffNo="+  $("#" + Staff).val() + "&basecity=basecity";
    }
    //是否咸宁公司
    if (isXIN == "true") {
        url += "&XIN=1";
    }
    var strRet = OpenDialog(url,600,550);
    if( strRet == null ) {return;}
    var str = strRet.split("!#");
    $("#" + txtCityName).val(str[2] );
    $("#" + txtCityCode).val(str[1] );
    $("#" + txtCityType).val(str[3] );
    //如果选择国外城市，则出差类型改为国外
    if(str[1] == "0") $("#processForm_selType").val("1");
}


// 功能：工程公司选择“城市”。
// 作者：梅欢
// 输入参数：
//    txtCityName：显示城市名称的输入框ID，
//    txtCityCode：显示城市编码的输入框ID，
//    txtCityType：显示城市类型的输入框ID
//    strType：出差类型（0国内，1国外, 3 市内工地）
//    IsStart：是否出发地或返回地（0否，1是）
// 创建日期：2010-12-2
// 说明：需要引用JQuery，只能在表单框架中引用。
function selCityCNPEC(txtCityName,txtCityCode,txtCityType,strType,IsStart){
    if(strType == "undefined")
    {
        strType = "1";
    }
    //如果选择的是出发地或返回地 且是国外 则显示国内城市
    strType = (IsStart == "1" && strType == "1") ? "0" : strType;
    
    var url="/Workflow/Common/SelectCity.aspx?type="+ strType +"&rand=" + new Date().toString();
    if (strType == "3") { // 市内工地的
        url = "/Workflow/Common/SelectCity.aspx?type="+ strType +"&rand=" + new Date().toString() + "&basecity=basecity";
    }
    var strRet = OpenDialog(url,600,550);
    if( strRet == null ) {return;}
    var str = strRet.split("!#");
    $("#" + txtCityName).val(str[2] );
    $("#" + txtCityCode).val(str[1] );
    $("#" + txtCityType).val(str[3] );
    //如果选择国外城市，则出差类型改为国外
    if(str[1] == "0") $("#processForm_selType").val("1");
}

// 功能：选择“适用业务”。
// 作者：向添滨
// 输入参数：
//    company：公司编码
//    text:文本控件
//    value:值控件  
//    Prefix：访问控件前缀,默认为"#processForm_"
//
// 创建日期：2009-8-13
// 说明：需要引用JQuery
function SelectBusiness(company,text,value,Prefix,checkProcess)
{
    if(Prefix==undefined)
    {
        Prefix ="#processForm_";
    }
   
    selecttext = $(Prefix+company+" option:selected").text();
    company = $(Prefix+company).val()
    if(company == "")
    {
        alert("请选择费用归属！");
        return;
    }
    var url = "/Workflow/CNPEC/Common/WorkFlowBusiness.aspx?Money="+company+"&text="+selecttext +"&rand=" + new Date().toString();
    if(checkProcess)//要查找适用业务的流程,用于根据流程判断显示适用业务
    {
        url=url+"&checkProcess="+checkProcess;
    }
    var strRet = OpenDialog(url,600,650)
    if( strRet == null ) {return;}
    var json  = eval(strRet);

    $(Prefix+text).val(json.retT);
    $(Prefix+text).attr("title",json.retT);
    $(Prefix+value).val(json.retV);
}

// 功能：选择“适用业务”[修改]。
// 作者：邓建强
// 输入参数：
//    company：公司编码
//    text:文本控件
//    value:值控件  
//    Prefix：访问控件前缀,默认为"#processForm_"
//
// 创建日期：2009-8-13
// 说明：需要引用JQuery
function SelectBusinessByTxt(company,companyName,text,value,Prefix)
{
    if(Prefix==undefined)
    {
        Prefix ="#processForm_";
    }
    company = $(Prefix+company).val();
    selecttext=$(Prefix+companyName).val();
    if(company == "")
    {
        alert("请选择费用归属！");
        return;
    }
    var url = "/Workflow/CNPEC/Common/WorkFlowBusiness.aspx?Money="+company+"&text="+selecttext +"&rand=" + new Date().toString();
    var strRet = OpenDialog(url,600,650)
    if( strRet == null ) {return;}
    var json  = eval(strRet);

    $(Prefix+text).val(json.retT);
    $(Prefix+text).attr("title",json.retT);
    $(Prefix+value).val(json.retV);
}


// 功能：选择“承包商”。
// 作者：吕刚
// 输入参数：
//    ContractorName：显示承包商名称的输入框ID，
//    Prefix：访问控件前缀,默认为"#processForm_"
//
// 创建日期：2009-5-13
// 说明：需要引用JQuery,此数据为构造,以后可能还会增加字段。
function SelectContractor(ContractorName,Prefix)
{
    if(Prefix==undefined){Prefix="#processForm_";}
    var url="/Workflow/Common/SelectContractor.aspx";
    var strRet = OpenDialog(url);
    if( strRet == null ) {return;}
    var str = strRet.split("!#");
    $(Prefix+ContractorName).val(str[0] );
}

// 功能：选择“基地代码”。
// 作者：吕刚
// 输入参数：
//    BaseDesc：基地描述
//    BaseCode:基地代码
//    Prefix：访问控件前缀,默认为"#processForm_"
//    ds:从SAP获取的基地代码及其描述的XML串
// 创建日期：2009-5-15
// 说明：
function SelectBaseCode(BaseDesc,BaseCode,ds,Prefix)
{
    if(Prefix==undefined){Prefix="#processForm_";}
    var url="/Workflow/Common/SelectBaseCode.aspx?ds="+ds;
    var url2 = encodeURI(url,true);
    var strRet = OpenDialog(url);
    if( strRet == null ) {return;}
    var str = strRet.split("!#");
    $(Prefix+BaseDesc).val(str[0] );
    $(Prefix+BaseCode).val(str[1] );
}
/*
    说明：选择员工（可以多选，可以默认被选人）
    创建：梁宁 2009-5-21 
    参数：
        nameNOsObj - 用于存放"[p221112]名称,[p1231233]名称"的文本对象
        NOsObj     - 用于存放 p221112,p1231233 员工号的对象
        fullStringObj - 存放初始值[p221112]名称*UR123123@*@*@*@*@*的字符串
        RootOrgID - 根机构ID，如OR121122
*/
function SelectStaffs(nameNOsObj,NOsObj,fullStringObj,RootOrgID,Option){
     this.setVal = function(obj,myValue){
        if(obj){
            if(obj.tagName.toUpperCase() =="INPUT") {
                obj.value = myValue;
            }else if(obj.tagName.toUpperCase() == "TEXTAREA"){
                obj.innerText = myValue;
            }
        }
     }
     this.getVal = function(obj){
         if(obj){
            if(obj.tagName.toUpperCase()=="INPUT"){
                return obj.value;
            }else if(obj.tagName.toUpperCase() == "TEXTAREA"){
                return obj.innerText;
            }
         }
     } 
     var procSetObj=document.getElementById("hidenProcSetId");
     if(procSetObj && procSetObj.value){
        procSetID = procSetObj.value;
     }else{
        procSetID = "Global";
     }
     var choosedObj=new Object();
        //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
        if(fullStringObj){
            if(this.getVal(fullStringObj)=="") { this.setVal(fullStringObj,"*@*@*@*@*@*");}
            choosedObj.choosedValue= this.getVal(fullStringObj);//hidden域       
         }
         var strOnlyOnePeople = "false";
         if(Option){if(Option.PeopleOnlyOne){ strOnlyOnePeople="true";}}//构造仅仅选一个人
        var url="/UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+ strOnlyOnePeople +         //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织  
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+(RootOrgID ? RootOrgID : "OR4285")+  //组织树的根节点ID
        "&procsetId="+procSetID+        //当前流程集ID，可以为"Global"
        "&ran="+Math.random();
        var url2 = encodeURI(url,true);
        var strRet = OpenDialog(url2,720,520,choosedObj); 
        //strRet形如："[ppriln]梁宁,[pprildg]兰德贵*UR81022,UR81022@*@*@*@*@*"
        if( strRet == undefined || strRet == null )
          {  
             if(Option != undefined) { Option.isChanged = false;}
             return ; 
          }
        else if( strRet =="*@*@*@*@*@*"){ 
            if(Option != undefined) { Option.isChanged = (NOsObj.value!="");}
            if(fullStringObj) {this.setVal(fullStringObj,"");}
            if(nameNOsObj) {this.setVal(nameNOsObj,"");}
            if(NOsObj) {this.setVal(NOsObj,"");}
            
          } 
        else { 
             var NameNOs = strRet.replace(/^(\[[^\*]+)\*.*/i,"$1");
             var NOs = NameNOs.replace(/(\[)|(\][^\,]+)/ig,"");
             if(Option != undefined) { Option.isChanged = (NOsObj.value!=NOs);}
             if(fullStringObj){this.setVal(fullStringObj,strRet);}
             if(nameNOsObj) {this.setVal(nameNOsObj,NameNOs);}
             if(NOsObj) {this.setVal(NOsObj,NOs);}
       }    
}

/*
说明：风电公司选择WBS元素和项目信息
创建：吕刚 2009-10-30
用法说明：
Project:是否显示项目选择标签 true:显示;false:不显示
WbsElement:是否显示WBS元素选择标签 true:显示;false:不显示
options:为一个JSON对象，其中包含更多的参数,结构为{Key:"value",Key:"value",....}
    公共参数:
        GongsiId:查找默认公司号的相关信息,如3301
        UserId:查找默认用户所在公司的相关信息,如p107299
        ProjectNO:如果是该项目下的WBS信息,则为默认查条件
        prefix:默认赋值控件ID前缀,默认为"#processForm_"
    WBS所需参数:   
        WbsNo:存放选择的WBS编号的控件ID
        WbsDescID:存放选择的WBS描述信息的控件ID
        WbsZVORNR:存放作业代码的控件ID
        WbsZLTXA1:存放作业名称的控件ID
        WbsZFSAVD:存放计划开工时间的控件ID
        WbsZFSEDD:存放计划完工时间的控件ID
     项目信息所需参数:   
        ProjectNo:存放选择的项目编号的控件ID
        ProjectName:存放选择的项目名称的控件ID
        ProjectPrincipal:存放选择的项目负责人的控件ID
        
        
        其中WBS表中对应字段的所表示的内容如下,如需要可自行扩展参数:
        WBS编码	ZPOSID
        WBS描述	ZPOST2
        WBS的层次等级	ZSTUFE
        公司代码	ZPBUKR
        负责人编号	ZVERNR2
        作业代码	ZVORNR
        作业名称	ZLTXA1
        计划工期	ZDAUNO
        计划开工时间	ZFSAVD
        计划完工时间	ZFSEDD
        实际开工时间	ZISBD
        实际完成时间	ZIEDD
        工作百分比	ZABARB
        实际工期	ZBEARZ
        
        其中项目信息表中对应字段的所表示的内容如下,如需要可自行扩展参数:
        项目编号	ZPSPID
        项目名称	ZPOST1
        项目负责人	ZVERNR
        公司代码	ZVBUKR
        项目货币	ZPWHIE
        开始时间	ZPLFAZ
        结束时间	ZPLSEZ
        风场类型	ZZFCLX1
        风场类型	ZZFCLX
        建设地点	ZZJSDD
        项目地点	ZZXMDD
        项目总工期	ZPDAUR
        二级进度完成率	ZZEJJDJHWCL
        投资完成率	ZZTZWCL
*/
function selCGNWP(Project,WbsElement,options){
    var url="/Workflow/Common/CGNWP_ProjectInfoAndWBS.aspx?ran="+new Date().getTime();
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.ProjectNO){
        url  = url +"&ProjectNO="+options.ProjectNO;
    }
    if (typeof(Project)!="undefined"){
        url  = url +"&Project="+Project;
    }
    if (typeof(WbsElement)!="undefined"){
        url  = url +"&WbsElement="+WbsElement;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,600);
    if( strRet == null ) {return;}
    var str1 = eval("("+strRet+")");
    if(str1.row.length==0) 
    {
        alert("您没有选择！");  
        return;
    }
    if(str1.Wbs=="Yes")
    {
        if(str1.row.length<=1)//如果用户只选择了一行
        {
            $(options.prefix+options.WbsNo).val(str1.row[0].ZPOSID);
            $(options.prefix+options.WbsDescID).val("["+Trim(str1.row[0].ZPOSID)+"]"+str1.row[0].ZPOST2);
            $(options.prefix+options.WbsZVORNR).val(str1.row[0].ZVORNR);
            $(options.prefix+options.WbsZLTXA1).val(str1.row[0].ZLTXA1);
            $(options.prefix+options.WbsZFSAVD).val(str1.row[0].ZFSAVD);
            $(options.prefix+options.WbsZFSEDD).val(str1.row[0].ZIEDD);
        }
        else
        {
            return str1.row;//如果用户选择多行，则返回选择的行内容,则在表单页面处理
        }
    }
    if(str1.Pro=="Yes")
    {
        if(str1.row.length<=1)//如果用户只选择了一行
        {
            $(options.prefix+options.ProjectNo).val(str1.row[0].ZPSPID);
            $(options.prefix+options.ProjectName).val("["+Trim(str1.row[0].ZPSPID)+"]"+str1.row[0].ZPOST1);
            $(options.prefix+options.ProjectPrincipal).val(str1.row[0].ZVERNR);
        }
        else
        {
            return str1.row;//如果用户选择多行，则返回选择的行内容,在表单页面处理
        }
    }
}
//风电公司选择采购合同
function CGNWPOrderselect(options)
{
    options=options||{};
    var url="/Workflow/CGNWP/Common/StockContractInfo.aspx?ran="+new Date().getTime();
    if (options.OrderCode){
        url = url+"&OrderCode="+options.OrderCode;
    }
    if (options.ContractNo){
        url = url+"&ContractNo="+options.ContractNo;
    }
    var strRet = OpenDialog(url,800,600);
    if( strRet == "" ) {return ;}
    return strRet;//如果选择了就返回json
}
/*
    功能:风电公司项目或者WBS元素多选择
    Project:是否显示项目选择标签 true:显示;false:不显示
WbsElement:是否显示WBS元素选择标签 true:显示;false:不显示
options:为一个JSON对象，其中包含更多的参数,结构为{Key:"value",Key:"value",....}
    公共参数:
        GongsiId:查找默认公司号的相关信息,如3301
        UserId:查找默认用户所在公司的相关信息,如p107299
        ProjectNO:如果是该项目下的WBS信息,则为默认查条件
        prefix:默认赋值控件ID前缀,默认为"#processForm_"
    作者:兰德贵(pprildg)
    创建日期:2009-12-3
*/
function selCGNWPProOrWbs(Project,WbsElement,options)
{
    var url="/Workflow/Common/CGNWP_ProjectInfoAndWBS.aspx?ran="+new Date().getTime();
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.ProjectNO){
        url  = url +"&ProjectNO="+options.ProjectNO;
    }
    if (typeof(Project)!="undefined"){
        url  = url +"&Project="+Project;
    }
    if (typeof(WbsElement)!="undefined"){
        url  = url +"&WbsElement="+WbsElement;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,600);
    if( strRet == null ) {return;}
    var str1 = eval("("+strRet+")");
    if(str1.row.length==0) {alert("您没有选择！"); return;}
    if(str1.Pro=="Yes")
    {
        if(str1.row.length>=1)
        {
            return str1.row;
        }
    }
    if(str1.Wbs=="Yes")
    {
        if(str1.row.length>=1)
        {
            return str1.row;
        }
    }
    
}
//Excel打印
function CustomPrintExcel(){
    var ctrPath = gid("hidenFormPath").value.replace(".ascx",'Print.ascx');
    window.open("/Workflow/common/CustomPrint_Excel.aspx?controlPath="+ctrPath
        +"&uid="+gid("hidenProcInstId").value);
}
//Word打印
function CustomPrint(){
    var ctrPath = gid("hidenFormPath").value.replace(".ascx",'Print.ascx');
    window.open("/Workflow/common/CustomPrint.aspx?controlPath="+ctrPath
        +"&uid="+gid("hidenProcInstId").value);
}

//网页打印
function CustomPrintHTML(){
    var ctrPath = gid("hidenFormPath").value.replace(".ascx",'Print.ascx');
    window.open("/Workflow/common/CustomPrint.aspx?controlPath="+ctrPath
        +"&uid="+gid("hidenProcInstId").value +"&html=1") ;
}
//PDF打印
function CustomPrintPDF(){
    var str=window.location.toString(); str=str.substring(0,str.indexOf('/W'));
    var ctrPath = gid("hidenFormPath").value.replace(".ascx",'Print.ascx');
    window.open("/Workflow/Common/PrintPDF.aspx?strUrl="+ str +"/Workflow/common/CustomPrint.aspx|controlPath="+ctrPath
        +"||uid="+gid("hidenProcInstId").value);
}
//Excel打印
function CustomPrintExcel(){
    var ctrPath = gid("hidenFormPath").value.replace(".ascx",'Print.ascx');
    window.open("/Workflow/common/CustomPrint.aspx?controlPath="+ctrPath
        +"&uid="+gid("hidenProcInstId").value +"&Type=excel") ;
}

//工程公司-物料管理-询价采购流程打印事件
function CNPECPrint(){
    //打印页面名称
    var FormName=$("#processForm_hdfDisplay").val();
    if(FormName!="")
    {
        var ctrPath = gid("hidenFormPath").value.replace(/[^\/]+$/,"SinglePage/"+FormName);
        window.open("/Workflow/common/CustomPrint.aspx?controlPath="+ctrPath
            +"&uid="+gid("hidenProcInstId").value);
    }
    else
    {
        alert("些环节无用户定制打印页面！");
    }
}
//Excel打印---
function CustomPrintExcelForSz(procSetId){
    var ctrPath = gid("hidenFormPath").value.replace(".ascx",'_Print.ascx');
    window.open("/Workflow/CNPRI/FICO/TripAccount/ExcelPrintBase.aspx?procSetId="+procSetId) ;
}
function selProjectEx12(txtWBS,txtProjectName,options){
    var url="/Workflow/Common/WBSElementSel.aspx?ran="+new Date().getTime();
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.project){
        url  = url +"&project="+options.project;
    }
    if (options.Order){
        url  = url +"&Order="+options.Order;
    }
    if (options.Par){
        url  = url +"&Par="+options.Par;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,700);
    if( strRet == null ) {return;}

    var str1 = strRet.split("!#");
    var vardWBS="[dname='"+txtWBS+"']";
    //var varPname="[dname='"+txtProjectName+"']";
  //  $(vardWBS).val(str1[1]);
  //  $(varPname).val(str1[2]);
    if ( options.txtProjectLeader || options.hdfProjectLeader){
        if(str1[3] && Trim(str1[3])!= ""){
            if (str1[4] && Trim(str1[4])!= ""){
                $(options.prefix+options.hdfProjectLeader).val(str1[3]);
                $(options.prefix+options.txtProjectLeader).val("["+str1[3]+"]"+str1[4]);
             
            }
            else jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
                if(userinfo && userinfo !=""){
                    var userinfos = userinfo.split(",");
                    $(options.prefix+options.hdfProjectLeader).val(userinfos[0]);
                    $(options.prefix+options.txtProjectLeader).val("["+userinfos[0]+"]"+userinfos[1]);
                    }
                    else{
                        alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
                        $(options.prefix+options.hdfProjectLeader).val("");
                        $(options.prefix+options.txtProjectLeader).val("");
                    }
            });
        }
    }
    return str1[1];
}
/*
功能：选择职能部门，并修改页面上的相关ASP.net控件
作者：刘君
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
创建日期：2009-7-22
说明：需要引用JQuery，由于控件ID增加了processForm_前缀，只能在表单框架中引用。
*/
function SelectMultiDestDept(txtDeptName,txtDeptNo,RootOrgID){
    var procSetID=$("#hidenProcSetId").val();//表单框架中的ProcSetID
    var choosedObj=new Object();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=false"+       //是否显示选人
        "&peopleOnlyOne=false"+         //是否只能选一个
        "&orgTabDisplay=true"+          //是否显示选组织
        "&orgOnlyOne=false"+             //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=false"+          //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +         //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}

    if( strRet == "*@*@*@*@*@*" ){
        $("#processForm_"+txtDeptName).val("") ;
        $("#processForm_"+txtDeptNo).val("");
    }
    else{
        try
        {
            var str = strRet.split('*@')[1];
            str = str.substring(0,str.length-1);
            str = str.split('*')[0];

            $("#processForm_"+txtDeptName).val(str);//原来是str.substring(str.indexOf("]")+1)
            $("#processForm_"+txtDeptNo).val(str.substring(1,str.indexOf("]")));
        }
        catch(ex)
        {
            $("#processForm_"+txtDeptName).val("") ;
            $("#processForm_"+txtDeptNo).val("");
        }
    }
    return true;
}


 // 功能：选择“项目编码”。
// 作者：刘君
// 输入参数：
//    procinstid：流程实例ID，
//    txtProjectCode：项目编码
//    txtprojectName：项目名称
//    txtProjectLeader：项目负责人
//    txtPublishDate:发布日期
//    dnmcRowId：动态表格的当前行id
// 功能：在动态表格中选择项目编码，带出对应的项目信息
// 创建日期：2009-10-28
// 说明：需要引用JQuery，只能在表单框架中引用。
function selProjectNo(procinstid,txtProjectCode,txtprojectName,txtProjectLeader,txtPublishDate,dnmcRowId,SubCompany,options,ProjectCodes,tbCantent,ProjectCodes){
    var url="/Workflow/Common/GetProjectNo.aspx?ProjectCodes="+ProjectCodes+"&rand="  +Math.random();
    var strRet = OpenDialog(url);
    if( strRet == null ) {return;}
    var str = strRet.split("!#");
    var tmp="dnmcTableRow";
    var Pre="#";
    var varDate="Date";
    var Rowid=dnmcRowId.split('w')[1];
    var Title="DateTitle";
    var Type="DateType";
    var varChange="ChangeDate";
    for(var i=0;i<options.length;i++)
    {
       $(Pre+options[i]+varDate+tmp+Rowid).val(str[8+i].split("§")[0]);
       $(Pre+options[i]+varChange+tmp+Rowid).val(str[8+i].split("§")[0]);
       $(Pre+options[i]+Type+tmp+Rowid).val(str[8+i].split("§")[2]);
       $(Pre+options[i]+Title+tmp+Rowid).val(str[8+i].split("§")[1]);
    }
   $(ProjectCodes).val($(ProjectCodes).val()+","+str[2]);
    $(Pre + procinstid+tmp+Rowid).val(str[1]);
    $(Pre + txtProjectCode+tmp+Rowid).val(str[2]);
    $(Pre + txtprojectName+tmp+Rowid).val(str[3]);
    $(Pre + txtProjectLeader+tmp+Rowid).val(str[4]);
    $(Pre + txtPublishDate+tmp+Rowid).val(str[5]);
    $(Pre + SubCompany+tmp+Rowid).val(str[6]);
    $(Pre + tbCantent+tmp+Rowid).val(str[7]);

}
/*
功能：选择某员工
作者：刘君
输入参数：
    userNameID：员工姓名输入框的ID
    userAccountID：员工账号的输入框ID
    showAccount:是否显示账号
创建日期：2009-2-26
说明：需要引用JQuery
*/
  function SelectUserforDnmcTable(userName, userId, deptName, deptId,onlyOne,RootOrgID,dnmcRowId){
    RootOrgID = RootOrgID || "all";
    var onlyOne;
    if(onlyOne==undefined) {onlyOne=true;}
    else {onlyOne=onlyOne;}
    var procSetID=$("#hidenProcSetId").val();
    var choosedObj=new Object();
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=true"+        //是否显示选人
        "&peopleOnlyOne="+onlyOne+          //是否只能选一个
        "&orgTabDisplay=false"+         //是否显示选组织
        "&orgOnlyOne=false"+            //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=true"+           //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+RootOrgID+        //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,712,520,choosedObj);
    if( strRet == null ) {return;}

    var str1 = strRet.split("*");
    var str2 = str1[0].split("]");
    var tmp="dnmcTableRow";
    var UserName="#" +userName+tmp+dnmcRowId.split('w')[1];
    var UserId="#" +userId+tmp+dnmcRowId.split('w')[1];
    $(UserName).val(str1[0]);
    $(UserId).val(str1[0].substring(1, str1[0].lastIndexOf(']')));
    return true;
}
function selProjectEx3(txtWBS,txtProjectName,options){
    var url="/Workflow/Common/WBSElementSel.aspx?ran="+new Date().getTime();
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.project){
        url  = url +"&project="+options.project;
    }
    if (options.Order){
        url  = url +"&Order="+options.Order;
    }
    if (options.Par){
        url  = url +"&Par="+options.Par;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,700);
    if( strRet == null ) {return;}

    var str1 = strRet.split("!#");
    var vardWBS="[dname='"+txtWBS+"']";
    var varPname="[dname='"+txtProjectName+"']";
    $(vardWBS).val(str1[1]);
    $(varPname).val(str1[2]);
    if ( options.txtProjectLeader || options.hdfProjectLeader){
        if(str1[3] && Trim(str1[3])!= ""){
            if (str1[4] && Trim(str1[4])!= ""){
                $(options.prefix+options.hdfProjectLeader).val(str1[3]);
                $(options.prefix+options.txtProjectLeader).val("["+str1[3]+"]"+str1[4]);
             
            }
            else jQuery.get("/Workflow/Common/GetProjectLeader.ashx?usersapid="+str1[3], function(userinfo){
                if(userinfo && userinfo !=""){
                    var userinfos = userinfo.split(",");
                    $(options.prefix+options.hdfProjectLeader).val(userinfos[0]);
                    $(options.prefix+options.txtProjectLeader).val("["+userinfos[0]+"]"+userinfos[1]);
                    }
                    else{
                        alert( "当前项目负责人在本系统中没有找到，请找系统管理员确认项目负责人是否正确");
                        $(options.prefix+options.hdfProjectLeader).val("");
                        $(options.prefix+options.txtProjectLeader).val("");
                    }
            });
        }
    }
    return str1[1];
}
/*
功能：选择职能部门，并修改页面上的动态表格里面的控件值
作者：
输入参数：
    txtDeptName：显示部门名称的输入框ID，
    txtDeptNo：存储部门ID的输入框ID
    RootOrgID:列表根结点公司ID
创建日期：2009-11-11
说明：需要引用JQuery，由于控件ID增加了processForm_前缀，只能在表单框架中引用。

*/
function SelectCommonDestDeptforDnmTable(txtDeptName,txtDeptNo,RootOrgID,Prefix,dnmcRowId){
    var procSetID=$("#hidenProcSetId").val();//表单框架中的ProcSetID
    var choosedObj=new Object();
    var RootID=(typeof(RootOrgID)=="undefined" || RootOrgID=="")? "all":RootOrgID;
    //设置原来已选择的Destination字符串，可以为"*@*@*@*@*@*"
    choosedObj.choosedValue="*@*@*@*@*@*";
    var url="../../../../UUC/UnifiedOrgsCandidates.aspx?"+
        "peopleTabDisplay=false"+       //是否显示选人
        "&peopleOnlyOne=false"+         //是否只能选一个
        "&orgTabDisplay=true"+          //是否显示选组织
        "&orgOnlyOne=true"+             //是否只能选一个
        "&grpTabDisplay=false"+         //是否显示选组
        "&grpOnlyOne=false"+            //是否只能选一个
        "&dRoleTabDisplay=false"+       //是否显示选动态角色
        "&dRoleOnlyOne=false"+          //是否只能选一个
        "&CommonRoleTabDisplay=false"+  //是否显示选通用角色
        "&CommonRoleOnlyOne=false"+     //是否只能选一个
        "&sPosTabDisplay=false"+        //是否显示选组织职位
        "&sPosOnlyOne=false"+           //是否只能选一个
        "&TotalOnlyOne=false"+          //是否只选人(注意些时peopleOnlyOne,peopleTabDisplay也要设置)
        "&RootOrgID="+ RootID +         //组织树的根节点ID
        "&procsetId="+ procSetID +      //当前流程集ID，可以为"Global"
        "&ran="+Math.random();

    var strRet = OpenDialog(url,750,550,choosedObj);
    if( strRet == null ) {return;}
    
    var strPrefix = "#processForm_";//默认控件前缀
    if(typeof(Prefix)!="undefined"){//其他前缀
        strPrefix = "#"+Prefix;
    }
    var tmp="dnmcTableRow";
    var DeptName="#" +txtDeptName+tmp+dnmcRowId.split('w')[1];
    var DeptNo="#" +txtDeptNo+tmp+dnmcRowId.split('w')[1];
    if( strRet == "*@*@*@*@*@*" ){
        $(strPrefix+txtDeptName).val("") ;
        $(strPrefix+txtDeptNo).val("");
    }
    else{
        try
        {
            var str = strRet.split('*@')[1];
            str = str.substring(0,str.length-1);
            str = str.split('*')[0];
            
            $(DeptName).val(str);
            $(DeptNo).val(str.substring(1,str.indexOf("]")));
        }
        catch(ex)
        {
            $(DeptName).val("");
            $(DeptNo).val("");
        }
    }
    return true;
}
//选择币种
function selectCurrency(ctrl){
    var url="/Workflow/Common/CurrencyTypeSel.aspx";
    var strRet = window.showModalDialog(url,"","scorll:y;dialogLeft:190px;dialogTop:180px;dialogheight:550px;dialogwidth:700px;center:1;status:0");
    if( strRet == null )
    {return;}
    var str1 = strRet.split("!#");
    $(ctrl).val(str1[1]);
}
// 功能：选择“城市”。
// 作者：刘君
// 输入参数：
//    txtCityName：显示城市名称的输入框ID，
//    txtCityCode：显示城市编码的输入框ID，
//    txtCityType：显示城市类型的输入框ID
//    strType：出差类型（0国内，1国外）
// 创建日期：2009-12-05
// 说明：需要引用JQuery，只能在表单框架中引用。
function selCityforDnmtable(txtCityName,txtCityCode,txtCityType,strType,dnmcRowId,isAoad,Staff,isXin){
    if(strType == "undefined")
    {
        strType = "1";
    }
    var url="/Workflow/Common/SelectCity.aspx?type="+ strType +"&rand=" + new Date().toString()+"&Aboad="+isAoad+"&StaffNo="+  $("#" + Staff).val();
  
    if(selCityforDnmtable.basecity&&selCityforDnmtable.basecity != -1)
    {
       url+="&basecity="+selCityforDnmtable.basecity
    }
    //是否咸宁公司
    if(isXin == "true")
    {
        url+="&XIN=1";
    }
    
    var strRet = OpenDialog(url,600,550);
    var tmp="dnmcTableRow";
    if( strRet == null ||strRet=="undefined") {$("#" + txtCityName+tmp+dnmcRowId.split('w')[1]).val("" ); return;}
    var str = strRet.split("!#");   
    var CityName=txtCityName+tmp+dnmcRowId.split('w')[1];
    var CityCode=txtCityCode+tmp+dnmcRowId.split('w')[1];
    var CityType=txtCityType+tmp+dnmcRowId.split('w')[1];
    
    $("#" + CityName).val(str[2] );
    $("#" + CityCode).val(str[1] );
    $("#" + CityType).val(str[3] );
    
    
}



//选择WBS窗口
//Author：[pcitxim]朱小明
//Time： 2011-1-25
function selURCWBSorInnerOrder(Project,WbsElement,options,Type){ //debugger;
    var url="/Workflow/URC/Common/URC_WBSorInnerOrder.aspx?ran="+new Date().getTime();
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.ProjectNO){
        url  = url +"&ProjectNO="+options.ProjectNO;
    }
    if (typeof(Project)!="undefined"){
        url  = url +"&Project="+Project;
    }
    if (typeof(WbsElement)!="undefined"){
        url  = url +"&WbsElement="+WbsElement;
    }
    if (options.MaxSelLength){
        url  = url +"&MaxSelLength="+options.MaxSelLength;
    }    
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,600);
    if( strRet == null ) {return;}
    var  str1;
    if(strRet.indexOf("#")>-1)
    {
     str1 = strRet.split("!#");
    }
    else
    {
    str1=eval("("+strRet+")");
    }
    if(str1 == ""||str1 == undefined)
    {
        $(options.prefix  + options.WbsNo).val("");
        $(options.prefix + options.WbsDescID).val("");
    }
    else
    {
        if(str1.Wbs == "Yes")
        {
            if(options.IsWBS)
            {
                $(options.prefix + options.IsWBS).val(str1.Wbs);
            }
            if(str1.row.length == 1)//如果用户只选择了一行
            {
                $(options.prefix + options.WbsNo).val(str1.row[0].WbsCode);
                $(options.prefix + options.WbsDescID).val("[" + Trim(str1.row[0].WbsCode) + "]" + str1.row[0].WbsName);
                if(options.WbsName)
                {
                    $(options.prefix + options.WbsName).val(str1.row[0].WbsName);
                }
                
                if (options.WbsPrincipal){
                    var projectLeader = Trim(str1.row[0].WbsPrincipal);
                    if(projectLeader != ""){
                        $(options.prefix + options.WbsPrincipalName).val(projectLeader);
                        projectLeader = projectLeader.split("[")[1].split("]")[0];
                        $(options.prefix + options.WbsPrincipal).val(projectLeader);//项目负责人
                    }
                }
            }
            else if(str1.row.length>1)
            {
                return str1.row;//如果用户选择多行，则返回选择的行内容,则在表单页面处理
            }
        }
        else
        {
            var innerOrderPrincipalCode = str1[3];
            var innerOrderPrincipalName = str1[4];
            if(options.IsWBS)
            {
                $(options.prefix + options.IsWBS).val("NO");
            }
            $(options.prefix + options.WbsPrincipalName).val(innerOrderPrincipalName)//内部订单负责人名称
            $(options.prefix + options.WbsPrincipal).val(innerOrderPrincipalCode);//内部订单负责人编号
            $(options.prefix + options.WbsNo).val(str1[1]);
            //$(options.prefix+options.WbsDescID).val(str1[2]);
            if(options.WbsName)
            {
                $(options.prefix + options.WbsName).val(str1[2]);
                $(options.prefix + options.WbsDescID).val("[" + Trim(str1[1]) + "]" + str1[2]);
            }
        }
    }
   
}

function selCGNWPWBSorInnerBill(Project,WbsElement,options,Type){
    var url="/Workflow/Common/CGNWP_WBSorInnerBill.aspx?ran="+new Date().getTime();
    options=options||{};
    if (options.GongsiId){
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    if (options.ProjectNO){
        url  = url +"&ProjectNO="+options.ProjectNO;
    }
    if (typeof(Project)!="undefined"){
        url  = url +"&Project="+Project;
    }
    if (typeof(WbsElement)!="undefined"){
        url  = url +"&WbsElement="+WbsElement;
    }
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    var strRet = OpenDialog(url,800,600);
    if( strRet == null ) {return;}
    var  str1;
    if(strRet.indexOf("#")>-1)
    {
     str1 = strRet.split("!#");
    }
    else
    {
    str1=eval("("+strRet+")");
    //if(str1.row.length==0) {alert("您没有选择！"); return;}
    }
    if(str1==""||str1==undefined)
    {
        $(options.prefix+options.WbsNo).val("");
        $(options.prefix+options.WbsDescID).val("");
    }
    else
    {
        if(str1.Wbs=="Yes")
        {
            if(str1.row.length==1)//如果用户只选择了一行
            {
                $(options.prefix+options.WbsNo).val(str1.row[0].ZPOSID);
                $(options.prefix+options.WbsDescID).val("["+Trim(str1.row[0].ZPOSID)+"]"+str1.row[0].ZPOST2);
            }
            else if(str1.row.length>1)
            {
                return str1.row;//如果用户选择多行，则返回选择的行内容,则在表单页面处理
            }
        }
        else
        {
            $(options.prefix+options.WbsNo).val(str1[1]);
            $(options.prefix+options.WbsDescID).val(str1[2]);
        }
    }
   
}

/*
  功能：选择成本中心
  输入参数：
    txtKOSTL：显示成本中心代码的输入框ID
    txtRSTGR：显示成本中心名称的输入框ID
 作者：刘君
 风点公司要求成本中心名称与代码联合显示
 */
function selCostCenterUnion(txtKOSTL, txtRSTGR, options){
    var url="/Workflow/Common/CostCenterSel.aspx?Group=CNPRI";
    options=options||{};
    if (options.GongsiId) {
        url = url+"&GongsiId="+options.GongsiId;
    }
    if (options.UserId){
        url = url+"&UserId="+options.UserId;
    }
    var strRet = OpenDialog(url);
    if(strRet == null){return;}
    var str = strRet.split("!#");
    if (!options.prefix){
        options.prefix = "#processForm_";
    }
    if(strRet != "!#!#!#")
    {
        if( txtKOSTL!= "")
            $(options.prefix + txtKOSTL).val(str[0]);
        if( txtRSTGR!= "")
            $(options.prefix + txtRSTGR).val("["+str[0]+"]"+str[1]);
    }
    else
    {
        $(options.prefix + txtKOSTL).val("");  
        $(options.prefix + txtRSTGR).val("");
    }
}
// 功能:统一弹出窗口的调用方法，使弹出窗口自动居于屏幕中间，并根据屏幕分辨率进行自适应
// 参数说明：
//     url: 弹出窗口地址，无需进行encode
//     width: 窗口宽度px，缺省为800
//     height:窗口高度px，缺省为600
//     option:window.showModalDialog的第二个参数
// 修改内容：可以有滚动条
// 返回：弹出页面返回值
// 创建日期: 2009-12-30
function OpenDialogScroll(url,width,height,option){
    url = encodeURI(url);
    if(typeof(width)=='undefined'){width=800;}
    if(typeof(height)=='undefined'){height=600;}
    if(typeof(option)=='undefined'){option='';}
    var left=(screen.width-width)/2;
    var top=(screen.height-height)/2;
    return window.showModalDialog(url,option,
        "scroll:yes;dialogLeft:"+left
        +"px;dialogTop:"+top
        +"px;dialogHeight:"+height
        +"px;dialogWidth:"+width+"px;center:1;status:0");
}

function OpenDialogScrollY(url,width,height,option){
    url = encodeURI(url);
    if(typeof(width)=='undefined'){width=800;}
    if(typeof(height)=='undefined'){height=600;}
    if(typeof(option)=='undefined'){option='';}
    var left=(screen.width-width)/2;
    var top=(screen.height-height)/2;
    return window.showModalDialog(url,option,
        "scroll-y:no;scroll-x:no;dialogLeft:"+left
        +"px;dialogTop:"+top
        +"px;dialogHeight:"+height
        +"px;dialogWidth:"+width+"px;center:1;status:0");
}

/************************************弹出页面方法结束************************************/

/************************************动态表格处理方法************************************/
/*
功能说明：根据DynamicTableID得到模板Xml串
使用说明：该功能主是用在公开招标流程中，抽取已知Xml数据，根据模板行Xml(通过这个方法)生成新的Xml
输入参数说明：
       DynamicTableID:预绑定部分已知数据的DynamicTable的ID
输入参数说明：Xml字符串
作者：吕刚(pcitgan)
时间：2009-2-24
使用注意:
修改记录：2009-2-26 吕刚(pcitgan) 增加了对所有标签支持
*/
function CreateTmptRowXml(DynamicTableID)
{
    var rows=$("#"+DynamicTableID+" tr[dname='tmplt']");
    if (rows.length<1) return;
    var s = "";
    s +="<row>";
    $("[dName]", rows).each(function() {
        var ji = $(this);
        s += "<" + ji.attr("dName") + "></" + ji.attr("dName") + ">";
    });
    s +="</row>";
    return s;
 }
/*
功能说明：抽取出OtherXmlStr中的有用数据生成适合DynamicTable的Xml
使用说明:
输入参数说明：
       OtherXmlStr:上环节传过来的Xml字符串
       DynamicTableID:预绑定部分已知数据的DynamicTable的ID
输出参数说明：适合DynamicTable绑定的Xml串(其中包含OtherXmlStr中的一些数据)
作者：吕刚(pcitgan)
时间：2009-2-24
使用注意：若要使用OtherXmlStr中数据，必须将tmplt行中的dName设置得与OtherXmlStr中相关的key名字相同
修改记录：
*/
function setNewXMLFromOther(OtherXmlStr,DynamicTableID){
    var str= $.xml2json(OtherXmlStr);
    //根据已有记录得到应绑定行数，并生成空的XML
    var strTmpt=CreateTmptRowXml(DynamicTableID);
    //如果是一个没有数据的XML
    if(OtherXmlStr==""||str.row==undefined)
    {
       return "";
    }
    //如果只有一行
    var strme="<xml>";
    if(str.row.length==undefined)
    {
        strme+=strTmpt;
    }
    else
    {
        for(var i=0;i<str.row.length;i++)
        {
           strme+=strTmpt;
        }
    }
    strme+="</xml>";
    //根据已有记录给空XML中相关字段赋值
    var strmejson=$.xml2json(strme);
    if(str.row.length==undefined)
    {
       for(key in str.row)
       {
           for(keyme in strmejson.row)
           {
                if(keyme==key)
                {
                  strmejson.row[keyme]=str.row[key];
                }
            }
        }
    }
    else
    {
        for(var j=0;j<str.row.length;j++)
        {
            var row=str.row[j];
            for(key in row)
            {
               var rowme=strmejson.row[j];
               for(keyme in rowme)
               {
                    if(keyme==key)
                    {
                      rowme[keyme]=row[key];
                    }
                }
            }
        }
    }
    //将新XML赋值给隐藏域
    strme="<xml>"+json2xml(strmejson,"")+"</xml>";
    return strme;
}


/*
功能说明：将两同结构的XML中的关键字内容相同的行删除
使用说明:
输入参数说明：
       oldXML:原有的XML串
       newXML:新增加的XML串
输出参数说明：包含两串中不相同的内容(但如果每个XML串本身就有相同的就不会进行处理)
作者：吕刚(pcitgan)
时间：2009-2-24
使用注意：
修改记录：
        2009-03-10 黄平显(pcithpx) 添加linename参数
*/
function distinctXML( oldXML ,newXML,linename)
{
    var retXML;
    var retJson;
    var oldRows = $.xml2json( oldXML );
    var newRows = $.xml2json( newXML );
    var oldAry ;
    var newAry ;
    oldAry = setJsonToAry( oldRows , linename );
    if(oldAry==null)
    {
       oldAry=new Array();
    }
    newAry = setJsonToAry( newRows , linename );
    var no ;
    var isExist = false;
    for ( var i = 0 ; i < newAry.length ; i ++ )
    {
        isExist = false;

        no = newAry[i]["PB_NO"];
        if(oldAry.length>0)
        {
            for ( var j = 0 ; j < oldAry.length ; j ++ )
            {
                if ( no == oldAry[j]["PB_NO"] )
                {
                    isExist = true;
                    break;
                }
            }
            //如果存在,跳过该行
            if ( isExist )
            {
                continue;
            }
        }
        //把该行添加到老数据的最后
        oldAry[oldAry.length] = newAry[i];
    }
    retJson = setAryToJson( oldAry, linename );
    retXML = json2xml(retJson ,"" );
    return "<xml>" + retXML + "</xml>";
}
/*
功能说明：删除strXml中Key=Value的行
使用说明:
输入参数说明：
       strXml:原有的XML串
       Key:结点名
       Value:结点值
       linename:行结点名
输出参数说明：返回删除strXml中行结点名为linename中的Key=Value的行的XML串
作者：吕刚(pcitgan)
时间：2009-3-4
使用注意：对复杂XML串不支持
*/
function DelXmlByValue(strXml,Key,Value,linename)
{
   if((typeof(linename)=="undefined" || linename=="")) linename="row";
   if(strXml==""||strXml==null) return "";
   //将结点名supplier转化为row
   strXml=strXml.replace(/supplier/g,linename)
   var Json = $.xml2json(strXml);
   var ary = setJsonToAry(Json);
   var newary=new Array();
   var j=0;
   if(ary!=null)
   {
       for(var i=0;i<ary.length;i++)
       {
         if(ary[i][Key]!=Value)
         {
            newary[j]=ary[i];
            j++;
         }
       }
   }
   Json=setAryToJson(newary)
   var strme="<xml>"+json2xml(Json,"")+"</xml>";
   return strme;
}
/*
功能说明：设置strXml中所有关键字为Key的值默认为值:Value
使用说明:
输入参数说明：
       strXml:原有的XML串
       Key:结点名
       Value:结点值
       linename:行结点名
输出参数说明：返回给带默认值的XML串
作者：吕刚(pcitgan)
时间：2009-3-4
使用注意：对复杂XML串不支持
*/
function SetDefaultValueByKey(strXml,Key,Value,linename)
{
   if((typeof(linename)=="undefined" || linename=="")) linename="row";
   if(strXml==""||strXml==null) return "";
   //将结点名supplier转化为row
   strXml=strXml.replace(/supplier/g,linename)
   var Json = $.xml2json(strXml);
   var ary = setJsonToAry(Json);
   var j=0;
   if(ary!=null)
   {
       for(var i=0;i<ary.length;i++)
       {
          if(Trim(ary[i][Key])=="")
            ary[i][Key]=Value;
       }
   }
   Json=setAryToJson(ary)
   var strme="<xml>"+json2xml(Json,"")+"</xml>";
   return strme;
}

/*
功能：设置DIV中的input,select,textarea的访问权限 
作者：黄平显
输入参数：
    divid -- DIV的客户端ID
    flag  -- 访问权限(true,false)
创建日期：2009-3-5
*/
function DisabledDivCtrlRight(divid, flag )
{
    if ( flag )
    {
        $("#" + divid + " input").attr("disabled","disabled");
        $("#" + divid + " select").attr("disabled","disabled");
        $("#" + divid + " textarea").attr("disabled","disabled");

        $("#" + divid + " tr[dname='dataRow']").each(function(){
            $("input,select,textarea",$(this)).attr("disabled","disabled");
        });
    }
    else
    {
        $("#" + divid + " input").removeAttr("disabled");
        $("#" + divid + " select").removeAttr("disabled");
        $("#" + divid + " textarea").removeAttr("disabled");

        $("#" + divid + " tr[dname='dataRow']").each(function(){
            $("input,select,textarea",$(this)).removeAttr("disabled");
        });
    }
}

/*
功能：过滤重复的供应商数据
作者：梅欢
输入参数：
    strXML - 供应商选择页面返回的XML
    strIDs - 用户页面已存在的供应商ID
输出参数：
    过滤后的供应商XML
创建日期：2009-3-13
*/
function checkSupplierXML(strXML,strIDs)
{
    if(strIDs == "")
    {
        return strXML;
    }

    strIDs = ","+ strIDs +",";
    var xmldoc	= new ActiveXObject("MSXML.DOMDocument");
    xmldoc.loadXML(strXML);
    var nodes=xmldoc.documentElement.selectNodes("/xml/supplier/PB_NO");

    if(nodes!=null)
    {
        for(var i = nodes.length - 1; i >= 0; i--)
        {
            var supplierId = ","+ nodes[i].text +",";
            if(strIDs.indexOf(supplierId) >= 0)
            {
                xmldoc.documentElement.removeChild(nodes[i].parentNode);
            }
        }
    }

    return xmldoc.xml;
}

/*
    用于子表折叠
    输入参数：
    elem：显示抬头文本的字符，
    aaa：显示抬头文本的控件
*/
function fold_table(elem,aaa){
           var elemThis = document.getElementById(elem);
           if($("#processForm_hdServiceType").val()=='9'){
               if(elemThis.style.display=='none'){
                        elemThis.style.display='block'
                        aaa.style.background='url("/Style/img/jian.gif") no-repeat -2 5px';
               }
               else{
                        elemThis.style.display='none'
                        aaa.style.background='url("/Style/img/jia.gif") no-repeat -2 5px';
               }
            }
 }    
/************************************动态表格处理方法结束************************************/

/************************************上传附件功能处理方法************************************/
/*
功能：对平台上传附件功能的修改
作者：朱晓华
输入参数：
创建日期：2009-3-5
        修改: 2009-05-21 黄平显(pcithpx) 
            因为使用OpenDialog,里面已经使用encodeURI编码,所以去掉escape编码
        修改: 2009-08-09 黄平显(pcithpx) 
            修改附件弹出窗口的大小
*/
function AttachmentCategoryUpload(tableAtch){
    var url="../../WfRuntimeHost/AttachmentLoader.aspx?rand="+Math.random()+"&actname="+document.getElementById("hidenActName").value;
    var args=[window,"processForm_Attachment1_hidnAttaches",tableAtch];
    OpenDialog(url,720,240,args);
    // var result=window.showModalDialog(url,args, "dialogHeight:150px;dialogWidth:700px;dialogTop=200px;resizable:yes;scroll:yes;status:yes;help:no");
    atchCtg="";
    event.returnValue=false;
    return false;
}

function AttachmentCategoryInit(){
    var manager=document.getElementById("processForm_hdfAttachmentCategoryManager");
    var uid,category,atchmt,table,row,td,filename;
    if (manager!=null && manager.value!=""){
        var mngXml	= new ActiveXObject("MSXML.DOMDocument");
        mngXml.loadXML(manager.value);
        var atchXml = new ActiveXObject("MSXML.DOMDocument");
        atchXml.loadXML(document.getElementById("processForm_Attachment1_hidnAttaches").value);
        var nodes=mngXml.documentElement.selectNodes("//Attachment");
        if(nodes!=null){
            for(var i=0;i<nodes.length;i++){
                uid=nodes[i].getAttribute("UID");
                category=nodes[i].getAttribute("Category");
                table = document.getElementById(category);
                atchmt=atchXml.documentElement.selectSingleNode("//Attach[@UID='"+uid+"']");
                
                if (atchmt == null || table == null) continue;//解决附件加载时，NULL报错的问题--090820pcithpx
                bulidAttachTableViaXML4OneFile(atchmt,table);
            }
        }
    }
    if (document.getElementById("processForm_Attachment1_btnUpload")==null){
        var btns=document.getElementsByName("UploadByCategory");
        for(var i=0;i<btns.length;i++){
            btns[i].style.display="none";
        }
    }
    document.getElementById("divAttach").parentNode.parentNode.parentNode.style.display="none";
}
/************************************上传附件功能处理方法结束************************************/

/************************************改善用户体验的功能：自动完成、颜色改变、提示信息************************************/ 
// 功能:输入汉字、字符自动提示出相关查询信息
// 参数说明：
//     obj: 需要提示的控件框id
//     JsonInfo: 提示信息集合
//     options:自义显示和返回格式
// 作者：刘君
// 创建日期: 2009-12-31
function AutoComplete(obj,JsonInfo,options)
{
  $("#"+obj).autocomplete(JsonInfo, {
		minChars: 0,
		width: 200,
		matchContains: "word",
		autoFill: false,
		formatItem: function(row, i, max) {
		    if(options==undefined||options.Item==null)
		    {
//			    return i + "/" + max + ": \"" + row.name + "\" [" + row.to + "]";
			    return GetReturnValue(0,row);
               //return row.name;
			}
			else
			{
			    return eval("("+options.Item+")")
			}
		},
		formatMatch: function(row, i, max) {
			   return GetReturnValue(1,row);
		},
		formatResult: function(row) {
		   return GetReturnValue(0,row);
		}
	});
}
function GetReturnValue(index,row)
{
    var values=row.name;
    if(values.indexOf("(")>-1)
    {
      var objvalue=values.split("(");
      values=objvalue[index];
    }
    return values;
}
// 功能:验证表单提交时如果没有成功，就改变表单控件的背景边框
// 参数说明：
// 作者：刘君
// 创建日期: 2009-12-31
function IsSubmitForm()
{
    var IsSubmit=true;
    var form=$('form');
    $("input[validate],textarea[validate],select[validate]",form).each(function(){
      if($(this).attr("disabled")!=true)
      {
          if(this.value==""||this.value==undefined)
          {
             $(this).removeClass('tooltipinputok').addClass('tooltipinputerr');
              IsSubmit= false;
          }
      }
    });
    ///如果提交的时候，格式不正确，也返回false
    $('form').find("input[reg]").each(function(){
         if( $(this).attr("class").indexOf("tooltipinputerr")>-1)
         {
           IsSubmit=false;
         }
    });
    return IsSubmit;
}
/************************************改善用户体验的功能：自动完成、颜色改变、提示信息结束************************************/ 





/*！！！本行以下的方法已有较好的新方法，新方法已在注释的第一行注明，推荐使用新方法逐渐替换以下方法，或者略微修改新方法以适应需求 ！！！*/





/*	！！！请使用新方法MaxLengthInput，示例：<asp:TextBox onpropertychange="MaxLengthInput(1000);}"> ！！！
    功能:检查文本框的输入字符是否超出所作为的字符数量
    参数:
         文本框的控件ID,
         文本限制输入的字符数量
    作者:兰德贵
    时间:2009-4-20*/
function checkWordCount(id,count)
{
    if(event.type=="propertychange" && event.propertyName !="value"){
        return ;
    }
    var word =document.getElementById(id).value;
    var num = word.length;
    if(num>count)
    {
        document.getElementById(id).value= document.getElementById(id).value.substring(0,count);
        //$("#"+id).attr("caretPos",null);
        setTimeout(function(){$("#"+id).blur();
        alert("您最多只能输入"+count+"个字!");
        },0);
    }
}


/*	！！！请使用新方法formatMoneyNum(num,n) ！！！
 * 名称：流程开发公用JS
 * 作者：向添滨
 * 创建日期：2009-11-6
 * 更新日期：2009-2-2
 * 说明：把数字格式化成金额,把金额格式化成数字
 */
//把数字格式化成金额,
//num数字
//digit位数
// alert(formatNum(-12345678.005,2));   
// alert(formatNum("12345678.1256246",2));   
// alert(formatNum("10000000000000000000000000000000000000000"));
function  formatMoney(num,digit)   //将数字转换成三位逗号分隔的样式
{
  if(digit==undefined)
  {
     digit=2;
  }
  if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){alert("wrong!"); return num;}   
  var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;   
  var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");   
  while(re.test(b)) b = b.replace(re, "$1,$2$3");   
  if (c && digit && new RegExp("^.(\\d{"+ digit +"})(\\d)").test(c))
  {   
      if (RegExp.$2>4) c = (parseFloat(RegExp.$1)+1)/Math.pow(10,digit);   
      else c = "."+ RegExp.$1;
  }
  
//  var Money = parseFloat(a +""+ b +""+ (c+"").substr((c+"").indexOf(".")));
  var Money = a +""+ b +""+ (c+"").substr((c+"").indexOf("."));
  return  "￥" + Money;   
}


/*	！！！请使用新方法formatMoneyNum(num,n) ！！！*/
function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '￥' + num + '.' + cents);
}

/*	！！！请使用新方法formatMoneyNum(num,n) ！！！*/
// 功能:把数字格式化为带逗号的金额
// 作者:黄平显
// 参数说明：
//   输入参数
//      num: (100000000) 要格式化的数字
//      n  : (2) 保留小数位
//   返回
//      100,000,000.00
// 创建日期: 2009-2-13
function formatNum(num,n)
{
    num = String(num.toFixed(n));
    var re = /(-?\d+)(\d{3})/;
    while(re.test(num)) num = num.replace(re,"$1,$2")
    return num;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
/* ！！！请使用新方法chineseNumber,这个方法过于庞大，可能不实用 ！！！
小写金额转换成大写（人民币元） 
入参（P1）：dValue 金额数值或数值字符串 
  a, 也支持千分位格式（#,##0.00）输入； 
  b, 支持负数，将前导“-”号转为“负”字，将前导的“+”号忽略或转为“正”字； 
  c1, 值域之整数部分上限（超限则返回错误）： 
      44位/千正；43位/百正；42位/十正；  
      41位/【正】即万涧即亿亿亿亿亿（10^40，1正=1万涧=1亿亿亿亿亿=10,000,000,000,000,000,000,000,000,000,000,000,000,000）；40位/千涧；39位/百涧；38位/十涧；  
      37位/【涧】即万涧即万亿亿亿亿（10^36，1涧=1万沟=1万亿亿亿亿=1,000,000,000,000,000,000,000,000,000,000,000,000）；36位/千沟；35位/百沟；34位/十沟； 
      33位/【沟】即万穰即亿亿亿亿（10^32，1沟=1万杼=1亿亿亿亿=100,000,000,000,000,000,000,000,000,000,000）；31位/千穰；30位/百穰；29位/十穰；  
      29位/【穰】即万杼即万亿亿亿（10^28，1穰=1万杼=1万亿亿亿=10,000,000,000,000,000,000,000,000,000）；28位/千杼；27位/百杼；26位/十杼； 
      25位/【杼】即万垓即亿亿亿（10^24，1杼=1万垓=1亿亿亿=1,000,000,000,000,000,000,000,000）；24位/千垓；23位/百垓；22位/十垓； 
      21位/【垓】即万京即万亿亿（10^20，1垓=1万京=1万亿亿=100,000,000,000,000,000,000）；20位/千京；19位/百京；18位/十京； 
      17位/【京】即万兆即亿亿（10^16，1京=1万兆=1亿亿=10,000,000,000,000,000）；16位/千兆；15位/百兆；14位/十兆； 
      13位/【兆】即万亿（10^12，1兆=1万亿=1,000,000,000,000）；12位/千亿；11位/百亿；10位/十亿； 
      9位/【亿】（10^8，1亿=1万万=100,000,000）；8位/千万；7位/百万；6位/十万； 
      5位/【万】（10^4，1万=10,000）；4位/千；3位/百；2位/十；1位/个。 
  c2, 值域之小数部分上限：5位或用户参数指定（角/分/厘/毫/丝，超限则四舍五入）。 
入参（P1）：maxDec 精确小数位数（值域0~5，不指定则默认为2，超限归为默认）。 
用法：AmountInWords(890123456789.123456)    AmountInWords(324,567,890,123.45)    AmountInWords(123.00)  AmountInWords(0.67) 
      -10,090,008,000,700,060,005,000,400,030,002,000,100,000,000.123456 = 负壹仟零玖正零捌涧零柒沟零陆穰零伍杼零肆垓零叁京零贰兆零壹亿元壹角贰分叁厘肆毫陆丝 
      12,345,678,901,234,567,890,123,456,789,012,345,678,901,234.123456  = 壹仟贰佰叁拾肆正伍仟陆佰柒拾捌涧玖仟零壹拾贰沟叁仟肆佰伍拾陆穰柒仟捌佰玖拾杼零壹仟贰佰叁拾肆垓伍仟陆佰柒拾捌京玖仟零壹拾贰兆叁仟肆佰伍拾陆亿柒仟捌佰玖拾万零壹仟贰佰叁拾肆元壹角贰分叁厘肆毫陆丝 
入参(P1):objshow  需要赋值大写的控件
返回：大写字符串 

更新说明：整数由11位（百亿）扩展至44位/千正/10^43（注：1正=1万涧=1亿亿亿亿亿，10^40）；小数由2位（分/10^-2）扩展至5位（丝/10^-5）并可通过参数自定义；支持正负号；出错不再弹出窗口而改为直接返回返回文本。 */ 
function AmountInWords(dValue,objshow ,maxDec) 
{ 
    // 验证输入金额数值或数值字符串： 
    dValue = dValue.toString().replace(/,/g, "");  dValue = dValue.replace(/^0+/, "");      // 金额数值转字符、移除逗号、移除前导零 
    if (dValue == "") { document.getElementById(objshow).value="零元整"; return }      // （错误：金额为空！） 
    else if (isNaN(dValue)) {  alert("错误：金额不是合法的数值！");return } 
    
    var minus = "";                            // 负数的符号“-”的大写：“负”字。可自定义字符，如“（负）”。 
    var CN_SYMBOL = "";                        // 币种名称（如“人民币”，默认空） 
    if (dValue.length > 1) 
    { 
        if (dValue.indexOf('-') == 0) { dValue = dValue.replace("-", ""); minus = "负"; }  // 处理负数符号“-” 
        if (dValue.indexOf('+') == 0) { dValue = dValue.replace("+", ""); }                // 处理前导正数符号“+”（无实际意义） 
    } 
    
    // 变量定义： 
    var vInt = ""; var vDec = "";              // 字符串：金额的整数部分、小数部分 
    var resAIW;                                // 字符串：要输出的结果 
    var parts;                                  // 数组（整数部分.小数部分），length=1时则仅为整数。 
    var digits, radices, bigRadices, decimals;  // 数组：数字（0~9——零~玖）；基（十进制记数系统中每个数字位的基是10——拾,佰,仟）；大基（万,亿,兆,京,垓,杼,穰,沟,涧,正）；辅币（元以下，角/分/厘/毫/丝）。 
    var zeroCount;                              // 零计数 
    var i, p, d;                                // 循环因子；前一位数字；当前位数字。 
    var quotient, modulus;                      // 整数部分计算用：商数、模数。 

    // 金额数值转换为字符，分割整数部分和小数部分：整数、小数分开来搞（小数部分有可能四舍五入后对整数部分有进位）。 
    var NoneDecLen = (typeof(maxDec) == "undefined" || maxDec == null || Number(maxDec) < 0 || Number(maxDec) > 5);    // 是否未指定有效小数位（true/false） 
    parts = dValue.split('.');                      // 数组赋值：（整数部分.小数部分），Array的length=1则仅为整数。 
    if (parts.length > 1) 
    { 
        vInt = parts[0]; vDec = parts[1];          // 变量赋值：金额的整数部分、小数部分 
        
        if(NoneDecLen) { maxDec = vDec.length > 5 ? 5 : vDec.length; }                                  // 未指定有效小数位参数值时，自动取实际小数位长但不超5。 
        var rDec = Number("0." + vDec);    
        rDec *= Math.pow(10, maxDec); rDec = Math.round(Math.abs(rDec)); rDec /= Math.pow(10, maxDec);  // 小数四舍五入 
        var aIntDec = rDec.toString().split('.'); 
        if(Number(aIntDec[0]) == 1) { vInt = (Number(vInt) + 1).toString(); }                          // 小数部分四舍五入后有可能向整数部分的个位进位（值1） 
        if(aIntDec.length > 1) { vDec = aIntDec[1]; } else { vDec = ""; } 
    } 
    else { vInt = dValue; vDec = ""; if(NoneDecLen) { maxDec = 0; } } 
    if(vInt.length > 44) {  alert("错误：金额值太大了！整数位长【" + vInt.length.toString() + "】超过了上限——44位/千正/10^43（注：1正=1万涧=1亿亿亿亿亿，10^40）！"); return} 
    
    // 准备各字符数组 Prepare the characters corresponding to the digits: 
    digits = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");        // 零~玖 
    radices = new Array("", "拾", "佰", "仟");                                              // 拾,佰,仟 
    bigRadices = new Array("", "万", "亿", "兆", "京", "垓", "杼", "穰" ,"沟", "涧", "正"); // 万,亿,兆,京,垓,杼,穰,沟,涧,正 
    decimals = new Array("角", "分", "厘", "毫", "丝");                                    // 角/分/厘/毫/丝 
    
    resAIW = "";  // 开始处理 
    
    // 处理整数部分（如果有） 
    if (Number(vInt) > 0) 
    { 
        zeroCount = 0; 
        for (i = 0; i < vInt.length; i++) 
        { 
            p = vInt.length - i - 1; d = vInt.substr(i, 1); quotient = p / 4; modulus = p % 4; 
            if (d == "0") { zeroCount++; } 
            else 
            { 
                if (zeroCount > 0) { resAIW += digits[0]; } 
                zeroCount = 0; resAIW += digits[Number(d)] + radices[modulus]; 
            } 
            if (modulus == 0 && zeroCount < 4) { resAIW += bigRadices[quotient]; } 
        } 
        resAIW += "元"; 
    } 
    
    // 处理小数部分（如果有） 
    for (i = 0; i < vDec.length; i++) { d = vDec.substr(i, 1); if (d != "0") { resAIW += digits[Number(d)] + decimals[i]; } } 
    
    // 处理结果 
    if (resAIW == "") { resAIW = "零" + "元"; }    // 零元 
    if (vDec == "") { resAIW += "整"; }            // ...元整 
    resAIW = CN_SYMBOL + minus + resAIW;            // 人民币/负......元角分/整 
    document.getElementById(objshow).value = resAIW;
    return ; 
    
    // 备注： 
    /********************************************************************************** 
    毫 .... 10^-4 ...... 0.0001 
    厘 .... 10^-3 ...... 0.001 
    分 .... 10^-2 ...... 0.01 
    角 .... 10^-1 ...... 0.1 
    ----------------------------- 
    个位（元）10^0      1 
    ----------------------------- 
    拾 .... 10^1 ...... 10 
    佰 .... 10^2 ...... 100 
    仟 .... 10^3 ...... 1,000 
    万 .... 10^4 ...... 10,000 
    亿 .... 10^8 ...... 100,000,000 
    兆 .... 10^12 ..... 1,000,000,000,000 
    京 .... 10^16 ..... 10,000,000,000,000,000 
    垓 .... 10^20 ..... 100,000,000,000,000,000,000            gāi 
    杼 .... 10^24 ..... 1,000,000,000,000,000,000,000,000      zhù 
    穰 .... 10^28 ..... 10,000,000,000,000,000,000,000,000,000  rǎng 国际制用“艾可萨”,简称“艾”,符号E 
    沟 .... 10^32 ..... 100,000,000,000,000,000,000,000,000,000,000 
    涧 .... 10^36 ..... 1,000,000,000,000,000,000,000,000,000,000,000,000 
    正 .... 10^40 ..... 10,000,000,000,000,000,000,000,000,000,000,000,000,000 
    载 .... 10^44 
    极 .... 10^48 
    恒河沙 ..... 10^52 
    阿僧祇 ..... 10^56 
    那由他 ..... 10^60 
    不可思议 ... 10^64 
    无量 ....... 10^68 
    大数 ....... 10^72 
    **********************************************************************************/ 
} 

/* ！！！请使用新方法removeFocus ！！！*/
function PageLoad(ctrlid)
{
   var control = gid(ctrlid)
   if(control)
   {
        if(control.readOnly)
        {
            control.onfocus = "";
        }
   }
}

/* ！！！请使用新方法NumberInput, 因此方法不能防止粘贴拷贝 ！！！
说明：只能输入数字
创建：黄喆 2009-5-27 
用法: 控件添加属性 onkeydown="myKeyDown()"        
*/
function myKeyDown()
{
    if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||(event.keyCode==46 || event.keyCode==8)))
//考虑小键盘上的数字键
    event.returnValue=false;

}

/* ！！！请使用新方法NumberInput ！！！*/
//判断是否为数字
function IsMoney(ctrl){
    var reg  =/^\d+(\.\d+)?$/;　
    if (!reg.test(Trim(ctrl.value))){
        ctrl.value="0";
        return false;
    }
}

/*！！！请使用表单验证框架整体验证 ！！！
功能：控制表单上的星号所示内容必须输入
输入参数：
ctrlid    输入框的ID
ctrlname  输入框的前面名称
作者：涂畅波
*/
function MustInput(ctrlid, ctrlname)
{
    var obj = gid(ctrlid)
    if(obj)
    {
        var objValue = obj.value;
        if(Trim(objValue) == "" || Trim(objValue) == null)
        {
            alert('请输入' + ctrlname + '!');
            obj.focus() ;
            return false;
        }
    }
    return true;
}


/*！！！请使用新版的表单验证框架Validator.js ！！！
功能：表单数据验证框架
作者：朱晓华  */
function WFValidate(){
    var eMsg="";
    $("[validate]").each(function(){
        if (typeof(this.validateCondition)!='undefined'){
            if (!eval(this.validateCondition)) return;
        }

        var rules=this.validate.split(' ');
        var msgs=this.eMsg.split(' ');
        var value = $.trim($(this).val())
        
        for ( var r = 0 ; r < rules.length ; r ++ )
        {
            switch(rules[r]){
                case 'required':
                    if(value==""){eMsg += msgs[r] + "\n";return;}
                    break;
                case 'digit2Money':
                    if (value!="" && !(/^[0-9]+(.[0-9]{1,2})?$/.test(value)))
                    {eMsg += msgs[r] + "\n";return;}
                    break;
                case 'integer':
                    if(value!="" && !(/^\d+$/.test(value)))
                    {eMsg += msgs[r] + "\n";return;}
                    break;
                default:
                    var paramRule = rules[r].split(',');
                    switch(paramRule[0]){
                        case 'maxLength':
                            if(value.length>paramRule[1])
                            {eMsg += msgs[r] + "\n";return;}
                            break;
                        case 'minLength':
                            if(value.length<paramRule[1])
                            {eMsg += msgs[r] + "\n";return;}
                            break;
                    }
                    break;
            }
        }
    });
    return eMsg;
}


/*！！！请使用新方法new DateTime().ToString()替换 ！！！
 功能：获取当前日期
 输入参数：
 输出参数：返回当前日期
 作者：涂畅波
*/
function GetCurDate(){
    var objDate, curDate; // 声明变量。
    objDate = new Date(); // 创建 Date 对象。

    var tmpMonth = (objDate.getMonth() + 1)
    tmpMonth = (tmpMonth < 10) ? "0" + tmpMonth : tmpMonth;

    var tmpDate = objDate.getDate();
    tmpDate = (tmpDate < 10) ? "0" + tmpDate : tmpDate;

    curDate = objDate.getYear() + "-" + tmpMonth + "-" + tmpDate;

    return curDate;
}

/*！！！请使用新方法new DateTime(datetime).ToString()替换 ！！！
 功能：格式化日期
 输入参数：2009-1-20 10:04:34
 输出参数：2009-01-20
 作者：涂畅波
*/
function DateFormat(datetime)
{
    var y = datetime.substring(0, 4);
    var md = datetime.substring(5, 10)

    var m = md.split('-')[0];
    m = (Number(m)<10) ? '0'+Number(m) : m;

    var d = Trim(md.split('-')[1].replace(' ','@').split('@')[0]);
    d = (Number(d)<10) ? '0'+Number(d) : d;
    var ymd = y + '-' + m + '-' + d;

    return ymd;
}

/*！！！请使用新方法DateTime.prototype.Days替换 ！！！*/
function DiffDate(beginDate,endDate){
    var d1 = new Date(beginDate);
    var d2 = new Date(endDate);
    if (isNaN(d2-d1)) return 0;
    else return (d2-d1)/(3600*24*1000);
}

/*！！！请使用新方法DateTime.prototype.Compare替换 ！！！*/
function compareDate(  strv1 ,  strv2 )
 {
    if ( strv1 && strv2 )
    {
        var strdt1= strv1.replace("-","/");
        var strdt2= strv2.replace("-","/");
        var d1=new Date(Date.parse(strdt1));
        var d2=new Date(Date.parse(strdt2));
        if( d2 -d1 >= 0 )
        {
            return true ;
        }
        else
        {
            return false ;
        }
    }
    return true ;
}

/*！！！请使用新方法DateTime.prototype.Compare替换 ！！！
 功能：比较日期时间大小：结束的日期要比开始的日期大
 输入参数：
            起始日期控件ID：ctrlStartDate
            结束日期控件ID：ctrlEndDate
            显示信息：Msg
 作者：涂畅波
*/
function CompareToDateTime(ctrlStartDate, ctrlEndDate, Msg)
{
    var Date1 = "";
    var Date2 = "";
    var objCtrl1 = ctrlStartDate
    var objCtrl2 = ctrlEndDate
    if(gid(objCtrl1))
        Date1 = gid(objCtrl1).value
    if(gid(objCtrl2))
        Date2 = gid(objCtrl2).value
    if(Date1 == "" || Date1 == null)
    {
        Date1 = Date2
        gid(objCtrl1).value = Date1
    }
    if(Date1 > Date2)
    {
        alert(Msg);
        return false;
    }
    return true;
}

/*！！！请使用新方法DateTime.prototype.AddMonths替换 ！！！
说明：根据起始时间加上N个月,得出结束时间.
创建：黄喆 2009-5-25 
参数：
    starttime - 起始时间
    timespan  - 增加的月份
    endtime -   结束时间
    hidendtime - 存放结束时间的hidden名称
    hidtimespan - 存放增加的月份的hidden名称
*/
function CompEndTime(starttime,timespan,endtime,hidendtime,hidtimespan)
{
    var ts = gid(timespan).value;
    var curdate = gid(starttime).value;
    if(ts!=""&&!isNaN(ts)&&curdate!=="")
    {
        var arr = curdate.split("-");
        var _y = arr[0];
        var _m = arr[1];
        
        var y = parseInt(_y,10)+ Math.floor((parseInt(_m,10)+parseInt(ts,10)-1)/12);
        var m = (parseInt(_m,10)+ parseInt(ts,10)-1)%12;
        
        var endD = new Date(y,m,arr[2]);
        endD.setTime(endD.getTime()-24*60*60*1000);
        var endYear = endD.getFullYear();
        var endMonth = endD.getMonth()+1;
        var endDate = endD.getDate();
      
        if(endMonth<10) endMonth = "0"+endMonth;
        gid(endtime).value = (endYear+"-"+endMonth+"-"+endDate);
        
    }
    else
    {
        gid(endtime).value = "";
    }

    if(typeof(hidendtime)!="undefined" && hidendtime!="") gid(hidendtime).value = gid(endtime).value;
    if(typeof(hidtimespan)!="undefined" && hidtimespan !="") gid(hidtimespan).value = gid(timespan).value;
}
/*
说明：获取常见货币的符号:创建一个jeson对象来存储常见货币与其对应之符号
创建： 刘君 2010-02-04 
参数：
*/
var CurrencySymbol = {
    RMB : "￥",//人民币
    GBP : "￡",//英镑
    SGD : "S.＄",//新加坡元
    CHF :"SFR.",//瑞士法郎
    HKD :"HK＄",//港币
    EUR:"EUR",//欧元
    CAD :"Can.＄",//加拿大元
    ZAP :"R. ",//南非兰得
    AUD:"$A",//澳大利亚元
    KRW :"₩",//韩元
    USD:"U.S.＄",//美元
    JPY:"¥",//日元
    DEM:"DM."//德国马克
}
/*
说明：获取常见货币的符号
创建： 刘君 2010-02-04 
参数：
    Currency - 货币简写
*/
function GetCurrencySymbol(Currency)
{
  var objCurrency= CurrencySymbol;
  var returnSymbol="";
   for(var c in objCurrency){         
       if(typeof(objCurrency[c])=="function"){      
            objCurrency[c]();     
        }else{      
            // c 为属性名称，objCurrency[c]为对应属性的值 
            if(Currency!=""&&Currency!=undefined)
            {
                if(c==Currency||Currency.indexOf(c)>-1)
                {
                  returnSymbol=objCurrency[c];
                }
            }
        }      
    }
    return returnSymbol;
}

/*
说明：JS中浮点数计算bug问题解决办法(如：11*22.9 = 251.89999999999998)
创建： 田丰亮 2010-02-24 
使用方法： 比如你要计算：7*0.8 ，则改成 (7).mul(0.8) 
除法函数，用来得到精确的除法结果  */
function accDiv(arg1,arg2)
{ 
    var t1=0,t2=0,r1,r2; 
    try{t1=arg1.toString().split(".")[1].length}catch(e){} 
    try{t2=arg2.toString().split(".")[1].length}catch(e){} 
    with(Math)
    { 
        r1=Number(arg1.toString().replace(".","")) 
        r2=Number(arg2.toString().replace(".","")) 
        return (r1/r2)*pow(10,t2-t1); 
    }
} 
//给Number类型增加一个div方法，调用起来更加方便。 
Number.prototype.div = function (arg)
{ 
    return accDiv(this, arg); 
} 
//乘法函数，用来得到精确的乘法结果 
function accMul(arg1,arg2) 
{ 
    var m=0,s1=arg1.toString(),s2=arg2.toString(); 
    try{m+=s1.split(".")[1].length}catch(e){} 
    try{m+=s2.split(".")[1].length}catch(e){} 
    return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 
} 
//给Number类型增加一个mul方法，调用起来更加方便。 
Number.prototype.mul = function (arg)
{ 
    return accMul(arg, this); 
} 
//加法函数，用来得到精确的加法结果 
function accAdd(arg1,arg2)
{ 
    var r1,r2,m; 
    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
    m=Math.pow(10,Math.max(r1,r2)) 
    return (arg1*m+arg2*m)/m 
} 
//给Number类型增加一个add方法，调用起来更加方便。 
Number.prototype.add = function (arg)
{ 
    return accAdd(arg,this); 
} 

//减法函数，用来得到精确的减法结果 
function accSubtr(arg1,arg2)
{
    var r1,r2,m,n;
    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
    m=Math.pow(10,Math.max(r1,r2));
    //动态控制精度长度
    n=(r1>=r2)?r1:r2;
    return ((arg1*m-arg2*m)/m).toFixed(n);
} 
//给Number类型增加一个subtr 方法，调用起来更加方便。 
Number.prototype.subtr = function (arg)
{ 
    return accSubtr(arg,this); 
} 

/*
说明：风电公司可研立项编号
创建： 杨振成 2010-05-05
*/ 
function selectProjectNo(txtNo,prefix)
{
    var url="/Workflow/CGNWP/Common/SelectProjectNo.aspx?rnd=" + Math.random();
    var retRet = OpenDialog(url,750,550);
    if( retRet == null ) {return;}
    
    var ret=retRet.split(",");
    
    if(typeof(prefix)=="undefined")
    {
        $("#processForm_"+txtNo).val(ret[0].trim());
    }
    else
    {
        $(prefix+txtNo).val(ret[0].trim());
    }
}
/*
说明：专项信息选择
创建：刘君 2010-05-19
*/ 
function SelProjectInfo(txtProjectName,hdfProjectCode,txtCheckTimes)
{
    var url="/Workflow/Common/GetSpecialtiesInfo.aspx?rnd=" + Math.random();
    var retRet = OpenDialog(url,750,550);
    if( retRet == null ) {return;}
    var ret=retRet.split("!#");
    $("#processForm_"+hdfProjectCode).val(ret[1].trim());
    $("#processForm_"+txtProjectName).val(ret[2].trim());
    $("#processForm_"+txtCheckTimes).val(ret[3].trim());
   
}
function selectExpert(ExpertType,ProjectType)
{
    var url="/Workflow/Common/SelectExperts.aspx?rnd=" + Math.random()+"&ExpertType="+ExpertType+"&ProjectType="+ProjectType;
    var retRet = OpenDialog(url,750,600);
    if( retRet == null ) {return;}
    var ret=retRet.split("!#");
     return ret;
}

/*
说明：专家/专项信息
创建： 杨振成 2010-05-27
修改：添加流程类别，若是IT专委会专项评审流程则只返回该流程相关信息
*/ 
function SelExpertOrSpecialInfo(ExpertOrSpecial,ResultType)
{
    var url="/Workflow/Common/SelExpertOrSpecialInfo.aspx?rnd=" + Math.random();
    
    if(ExpertOrSpecial=="Expert")
    {
        url+="&Expert=ture";
    }
    if(ExpertOrSpecial=="Special")
    {
        url+="&Special=ture";
    }
    if(typeof(ResultType)!="undefined")
    {
       url+="&ResultType="+ResultType;
    }    
    var retRet=OpenDialog(url,940,550);
    if( retRet == null ) {return;}
    var ret=retRet.split("@#");
    return ret;
}

/*
说明：专家/专项信息/添加流程类别，若是IT专委会专项评审流程则只返回该流程相关信息
创建：曾俊锋 2011-11-14
*/ 
function SelExpertOrSpecialInfoPage(ExpertOrSpecial,WorkflowType,ResultType)
{
    var url="/Workflow/Common/SelExpertOrSpecialInfo.aspx?rnd=" + Math.random();
    
    if(ExpertOrSpecial=="Expert")
    {
        url+="&Expert=ture";
    }
    if(ExpertOrSpecial=="Special")
    {
        url+="&Special=ture";
    } 
    if(typeof(ResultType)!="undefined")
    {
       url+="&ResultType="+ResultType;
    } 
    if(WorkflowType == "1"){    //是IT专委会专项评审流程
        url += "&WorkflowType=" + WorkflowType
    }
    var retRet=OpenDialog(url,940,550);
    if( retRet == null ) {return;}
    var ret=retRet.split("@#");
    return ret;
}

/*
说明： JS换取URL参数
创建：曾俊锋2011-11-14
*/
function request(paras){ 
    var url = location.href; 
    var paraString = url.substring(url.indexOf("?")+1,url.length).split("&"); 
    var paraObj = {} 
    for (i=0; j=paraString[i]; i++){ 
        paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length); 
    } 
    var returnValue = paraObj[paras.toLowerCase()]; 
    if(typeof(returnValue)=="undefined"){ 
        return ""; 
    }else{ 
        return returnValue; 
    } 
}


/*
说明：差旅报销报销查询
创建： 刘君 2010-06-09
*/ 
function SelectTripAccountReport(ProcSetId)
{
    var url="/Workflow/CNPRI/FICO/TripAccount/TripAccountSzReport.aspx?rnd=" + Math.random()+"&ProcSetId="+ProcSetId;
    var retRet=OpenDialog(url,940,550);
//    if( retRet == null ) {return;}
//    var ret=retRet.split("@#");
//    return ret;
}

//检查是否上传附件
function checkHasAttach()
{
    var hidenAttaches = document.getElementById("processForm_Attachment1_hidnAttaches");
    var isFill = hidenAttaches.value.indexOf("FileName") > 0;
    //true有附件，false无附件
    return isFill;
}
/*
说明：格式化金额格式(for exmaple : 1000000.00---------1,000,000.00)
创建：田丰亮 2010-12-03
使用：在需要格式化的控件或td加上format ="formatMoney",在on_wfUserControlIni中引用FormartMoneMothed();即可
*/ 
function FormartMoneMothed()
{
    $("[format ='formatMoney']").each(function(){//查找所有需要金额转换的控件
            if($(this).val()!="")//
            {
                $(this).val(FormartString( $(this).val()));
            }
            else if($(this).html()!="")
            {
                $(this).html(FormartString($(this).html()))
            }
            else
            {
                return;
            }
    });
}
function FormartString(numStr)//以3位分隔字符串
{
    if(numStr.indexOf(',')>-1) return numStr;//已经格式化过的了 
    numStr =jstrim(numStr.replace(/&nbsp;/g,""));
    if(isNaN(numStr)) return "0.00";
        numStr=numStr.replace(/^(\d*)$/,"$1.");
        numStr=(numStr+"00").replace(/(\d*\.\d\d)\d*/,"$1");
        numStr=numStr.replace(".",",");
        var re=/(\d)(\d{3},)/;
        while(re.test(numStr))
                numStr=numStr.replace(re,"$1,$2");
        numStr=numStr.replace(/,(\d\d)$/,".$1");
        return  numStr.replace(/^\./,"0.")
}
function  jstrim(s) //js去除字符串中的空格 
{ 
    return   s.replace(/(^\s*)|(\s*$)/g, "");     
}
//格式化金额格式End
 

   /*说明：简化的时间格式 nowDate = new Date().Dateformats("yyyy-MM-dd"); 
   *创建：PCITWWE 2011/1/18
   *使用：需要使用yyyy-MM-dd 时间字符串地方，直接对于js中的date对象
   */  
   Date.prototype.Dateformats = function(format) 
   {   
      var o = {   
        "M+" :this.getMonth() + 1, // month   
        "d+" :this.getDate(), // day   
        "h+" :this.getHours(), // hour   
        "m+" :this.getMinutes(), // minute   
        "s+" :this.getSeconds(), // second   
       "q+" :Math.floor((this.getMonth() + 3) / 3), // quarter   
        "S" :this.getMilliseconds()   
       }   
       if (/(y+)/.test(format))
        {   
           format = format.replace(RegExp.$1, (this.getFullYear() + "")   
                  .substr(4 - RegExp.$1.length));   
        }   
      
        for ( var k in o) 
        {   
            if (new RegExp("(" + k + ")").test(format)) 
            {   
               format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]   
                        : ("00" + o[k]).substr(("" + o[k]).length));   
            }   
        }   
        return format;   
  }  
 
//  function FormartString(numStr)//以3位分隔字符串
//  {
//    if(numStr.indexOf(',')>-1) return numStr;//已经格式化过的了 
//    numStr =jstrim(numStr.replace(/&nbsp;/g,""));
//    if(/^\d(\.\d{0,2}?)()$/.test(numStr)) return "0.00";
//        numStr=numStr.replace(/^(\d*)$/,"$1.");
//        numStr=(numStr+"00").replace(/(\d*\.\d\d)\d*/,"$1");
//        numStr=numStr.replace(".",",");
//        var re=/(\d)(\d{3},)/;
//        while(re.test(numStr))
//                numStr=numStr.replace(re,"$1,$2");
//        numStr=numStr.replace(/,(\d\d)$/,".$1");
//        return  numStr.replace(/^\./,"0.")
//  }